留言板

Using a Maven repository proxy for Gradle builds of Liferay 7 projects

Roberto Longobardi,修改在7 年前。

Using a Maven repository proxy for Gradle builds of Liferay 7 projects

New Member 帖子: 2 加入日期: 13-11-14 最近的帖子
Hi,
we're setting up a continuous integration system based on Jenkins for our new Liferay 7 project.

The build machines don't have internet access, so we are using our existing shared Nexus repository to host the build artifact requirements.

The problem with the new Gradle build system seems related some hardcoded reference to both "cdn.repository.liferay.com" and "repository.liferay.com", most probably for the service builder gradle plugin.

We found these references in the org.gradle.internal.resource.transport.http.LiferayHttpResourceAccessor class, used for example during the buildService Gradle task, but the even a simple "clean" task fails.

The following is, for example, the Gradle build lod for the "clean" task.

Has anyone faced this problem and is there any solution?

Thanks,
Roberto and Antonio


Working Directory: /data/devtools/repositories/git/myproject
Gradle User Home: /home/username/.gradle
Gradle Distribution: Gradle wrapper from target build
Gradle Version: 2.12
Java Home: /data/devtools/jdks/jdk1.8.0_74
JVM Arguments: None
Program Arguments: --stacktrace --info
Gradle Tasks: clean

The client will now receive all logging from the daemon (pid: 2952). The daemon log file: /home/username/.gradle/daemon/2.12/daemon-2952.out.log
Starting 28th build in daemon [uptime: 1 hrs 8 mins 38.286 secs, performance: 97%, memory: 49% of 954.7 MB]
Executing build with daemon context: DefaultDaemonContext[uid=7a6b06a0-8dc3-48e1-96f5-e2e8bb1e7189,javaHome=/data/devtools/jdks/jdk1.8.0_74,daemonRegistryDir=/home/username/.gradle/daemon,pid=2952,idleTimeout=10800000,daemonOpts=-XX:MaxPermSize=256m,-XX:+HeapDumpOnOutOfMemoryError,-Xmx1024m,-Dfile.encoding=UTF-8,-Duser.country=US,-Duser.language=en,-Duser.variant]
Starting Build
Download http://mynexus/nexus/content/groups/public/com/liferay/com.liferay.gradle.plugins.workspace/1.0.29/com.liferay.gradle.plugins.workspace-1.0.29.jar
[...]
Download http://mynexus/nexus/content/groups/public/com/liferay/com.liferay.gradle.plugins.service.builder/1.0.9/com.liferay.gradle.plugins.service.builder-1.0.9.jar
[...]
Download http://mynexus/nexus/content/groups/public/com/liferay/com.liferay.gradle.plugins.node/1.0.13/com.liferay.gradle.plugins.node-1.0.13.jar
Settings evaluated using settings file '/data/devtools/repositories/git/myproject/settings.gradle'.
Projects loaded. Root project using build file '/data/devtools/repositories/git/myproject/build.gradle'.
Included projects: [root project 'myproject', project ':modules', project ':modules:communication-osgi', project ':modules:core-osgi', project ':modules:issues-osgi', project ':modules:test-osgi', project ':modules:tools-osgi', project ':modules:communication-osgi:generate-notification', project ':modules:communication-osgi:send-notification', project ':modules:communication-osgi:web-message', project ':modules:core-osgi:adr-core', project ':modules:core-osgi:adr-core-admin-web', project ':modules:issues-osgi:issue-api', project ':modules:issues-osgi:issue-transmission-web', project ':modules:issues-osgi:issue-view-web', project ':modules:test-osgi:adr-test', project ':modules:tools-osgi:adr-core-mock', project ':modules:tools-osgi:adr-sample-data', project ':modules:tools-osgi:adr-user-extend', project ':modules:tools-osgi:scheduled-job-manager', project ':modules:communication-osgi:generate-notification:generate-notification-api', project ':modules:communication-osgi:generate-notification:generate-notification-service', project ':modules:communication-osgi:generate-notification:generate-notification-web', project ':modules:communication-osgi:send-notification:send-notification-api', project ':modules:communication-osgi:send-notification:send-notification-service', project ':modules:communication-osgi:send-notification:send-notification-web', project ':modules:communication-osgi:web-message:web-message-api', project ':modules:communication-osgi:web-message:web-message-service', project ':modules:communication-osgi:web-message:web-message-web', project ':modules:core-osgi:adr-core:adr-core-api', project ':modules:core-osgi:adr-core:adr-core-service', project ':modules:test-osgi:adr-test:adr-test-core', project ':modules:test-osgi:adr-test:adr-test-service', project ':modules:tools-osgi:scheduled-job-manager:scheduled-job-manager-api', project ':modules:tools-osgi:scheduled-job-manager:scheduled-job-manager-web']
Evaluating root project 'myproject' using build file '/data/devtools/repositories/git/myproject/build.gradle'.
Defining custom 'clean' task when using the standard Gradle lifecycle plugins has been deprecated and is scheduled to be removed in Gradle 3.0
Evaluating project ':modules' using build file '/data/devtools/repositories/git/myproject/modules/build.gradle'.
[...]
Evaluating project ':modules:communication-osgi:generate-notification:generate-notification-service' using build file '/data/devtools/repositories/git/myproject/modules/communication-osgi/generate-notification/generate-notification-service/build.gradle'.
file or directory '/data/devtools/repositories/git/myproject/modules/communication-osgi/generate-notification/generate-notification-service/src/main/resources/META-INF/resources', not found
file or directory '/data/devtools/repositories/git/myproject/modules/communication-osgi/generate-notification/generate-notification-service/src/testIntegration/java', not found

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':modules:communication-osgi:generate-notification:generate-notification-service'.
> Could not resolve all dependencies for configuration ':modules:communication-osgi:generate-notification:generate-notification-service:classpath'.
   > Could not download com.liferay.gradle.plugins.service.builder.jar (com.liferay:com.liferay.gradle.plugins.service.builder:1.0.10)
      > Could not get resource 'https://repository.liferay.com/nexus/content/groups/public/com/liferay/com.liferay.gradle.plugins.service.builder/1.0.10/com.liferay.gradle.plugins.service.builder-1.0.10.jar'.
         > Could not GET 'https://repository.liferay.com/nexus/content/groups/public/com/liferay/com.liferay.gradle.plugins.service.builder/1.0.10/com.liferay.gradle.plugins.service.builder-1.0.10.jar'.
            > Connect to repository.liferay.com:443 [repository.liferay.com/127.0.0.1] failed: Connection refused

* Try:
Run with --debug option to get more log output.

* Exception is:
org.gradle.api.ProjectConfigurationException: A problem occurred configuring project ':modules:communication-osgi:generate-notification:generate-notification-service'.
	at org.gradle.configuration.project.LifecycleProjectEvaluator.addConfigurationFailure(LifecycleProjectEvaluator.java:79)
	at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:57)
	at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:532)
	at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:93)
	at org.gradle.execution.TaskPathProjectEvaluator.configureHierarchy(TaskPathProjectEvaluator.java:47)
	at org.gradle.configuration.DefaultBuildConfigurer.configure(DefaultBuildConfigurer.java:35)
	at org.gradle.initialization.DefaultGradleLauncher$2.run(DefaultGradleLauncher.java:125)
	at org.gradle.internal.Factories$1.create(Factories.java:22)
	at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
	at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:52)
	at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:122)
	at org.gradle.initialization.DefaultGradleLauncher.access$200(DefaultGradleLauncher.java:32)
	at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:99)
	at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:93)
	at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
	at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:62)
	at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:93)
	at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:82)
	at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:94)
	at org.gradle.tooling.internal.provider.runner.BuildModelActionRunner.run(BuildModelActionRunner.java:46)
	at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
	at org.gradle.tooling.internal.provider.runner.SubscribableBuildActionRunner.run(SubscribableBuildActionRunner.java:58)
	at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
	at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:43)
	at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:28)
	at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:75)
	at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:45)
	at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:52)
	at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
	at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
	at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:37)
	at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
	at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:26)
	at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
	at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:34)
	at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
	at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:74)
	at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:72)
	at org.gradle.util.Swapper.swap(Swapper.java:38)
	at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:72)
	at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
	at org.gradle.launcher.daemon.server.health.DaemonHealthTracker.execute(DaemonHealthTracker.java:47)
	at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
	at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:66)
	at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
	at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
	at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:72)
	at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
	at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
	at org.gradle.launcher.daemon.server.health.HintGCAfterBuild.execute(HintGCAfterBuild.java:41)
	at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
	at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:50)
	at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:246)
	at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:54)
	at org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableExecutorImpl.java:40)
Caused by: org.gradle.api.artifacts.ResolveException: Could not resolve all dependencies for configuration ':modules:communication-osgi:generate-notification:generate-notification-service:classpath'.
	at org.gradle.api.internal.artifacts.ivyservice.ErrorHandlingConfigurationResolver.wrapException(ErrorHandlingConfigurationResolver.java:70)
	at org.gradle.api.internal.artifacts.ivyservice.ErrorHandlingConfigurationResolver.access$000(ErrorHandlingConfigurationResolver.java:33)
	at org.gradle.api.internal.artifacts.ivyservice.ErrorHandlingConfigurationResolver$ErrorHandlingResolvedConfiguration.getFiles(ErrorHandlingConfigurationResolver.java:199)
	at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$ConfigurationFileCollection.getFiles(DefaultConfiguration.java:668)
	at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.getFiles(DefaultConfiguration.java:292)
	at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration_Decorated.getFiles(Unknown Source)
	at org.gradle.api.internal.initialization.DefaultScriptHandler.getScriptClassPath(DefaultScriptHandler.java:67)
	at org.gradle.plugin.use.internal.DefaultPluginRequestApplicator.defineScriptHandlerClassScope(DefaultPluginRequestApplicator.java:148)
	at org.gradle.plugin.use.internal.DefaultPluginRequestApplicator.applyPlugins(DefaultPluginRequestApplicator.java:55)
	at org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl.apply(DefaultScriptPluginFactory.java:137)
	at org.gradle.configuration.project.BuildScriptProcessor.execute(BuildScriptProcessor.java:38)
	at org.gradle.configuration.project.BuildScriptProcessor.execute(BuildScriptProcessor.java:25)
	at org.gradle.configuration.project.ConfigureActionsProjectEvaluator.evaluate(ConfigureActionsProjectEvaluator.java:34)
	at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:55)
	... 53 more
Caused by: org.gradle.internal.resolve.ArtifactResolveException: Could not download com.liferay.gradle.plugins.service.builder.jar (com.liferay:com.liferay.gradle.plugins.service.builder:1.0.10)
	at org.gradle.api.internal.artifacts.repositories.resolver.ExternalResourceResolver.resolveArtifact(ExternalResourceResolver.java:240)
	at org.gradle.api.internal.artifacts.repositories.resolver.ExternalResourceResolver$RemoteRepositoryAccess.resolveArtifact(ExternalResourceResolver.java:436)
	at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.CacheLockReleasingModuleComponentsRepository$LockReleasingRepositoryAccess$5.run(CacheLockReleasingModuleComponentsRepository.java:96)
	at org.gradle.internal.Factories$1.create(Factories.java:22)
	at org.gradle.cache.internal.DefaultCacheAccess.longRunningOperation(DefaultCacheAccess.java:242)
	at org.gradle.cache.internal.DefaultCacheAccess.longRunningOperation(DefaultCacheAccess.java:313)
	at org.gradle.cache.internal.DefaultPersistentDirectoryStore.longRunningOperation(DefaultPersistentDirectoryStore.java:114)
	at org.gradle.cache.internal.DefaultCacheFactory$ReferenceTrackingCache.longRunningOperation(DefaultCacheFactory.java:179)
	at org.gradle.api.internal.artifacts.ivyservice.DefaultCacheLockingManager.longRunningOperation(DefaultCacheLockingManager.java:56)
	at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.CacheLockReleasingModuleComponentsRepository$LockReleasingRepositoryAccess.resolveArtifact(CacheLockReleasingModuleComponentsRepository.java:94)
	at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.CachingModuleComponentRepository$ResolveAndCacheRepositoryAccess.resolveArtifact(CachingModuleComponentRepository.java:342)
	at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.BaseModuleComponentRepositoryAccess.resolveArtifact(BaseModuleComponentRepositoryAccess.java:54)
	at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.memcache.InMemoryCachedModuleComponentRepository$CachedAccess.resolveArtifact(InMemoryCachedModuleComponentRepository.java:82)
	at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.ErrorHandlingModuleComponentRepository$ErrorHandlingModuleComponentRepositoryAccess.resolveArtifact(ErrorHandlingModuleComponentRepository.java:116)
	at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.RepositoryChainArtifactResolver.resolveArtifact(RepositoryChainArtifactResolver.java:65)
	at org.gradle.api.internal.artifacts.ivyservice.resolveengine.ComponentResolversChain$ArtifactResolverChain.resolveArtifact(ComponentResolversChain.java:98)
	at org.gradle.api.internal.artifacts.ivyservice.ContextualArtifactResolver$3.execute(ContextualArtifactResolver.java:61)
	at org.gradle.api.internal.artifacts.ivyservice.ContextualArtifactResolver$3.execute(ContextualArtifactResolver.java:59)
	at org.gradle.internal.Transformers$4.transform(Transformers.java:169)
	at org.gradle.api.internal.artifacts.ivyservice.DefaultIvyContextManager.withIvy(DefaultIvyContextManager.java:61)
	at org.gradle.api.internal.artifacts.ivyservice.DefaultIvyContextManager.withIvy(DefaultIvyContextManager.java:39)
	at org.gradle.api.internal.artifacts.ivyservice.ContextualArtifactResolver$4.run(ContextualArtifactResolver.java:69)
	at org.gradle.internal.Factories$1.create(Factories.java:22)
	at org.gradle.cache.internal.DefaultCacheAccess.useCache(DefaultCacheAccess.java:192)
	at org.gradle.cache.internal.DefaultCacheAccess.useCache(DefaultCacheAccess.java:175)
	at org.gradle.cache.internal.DefaultPersistentDirectoryStore.useCache(DefaultPersistentDirectoryStore.java:106)
	at org.gradle.cache.internal.DefaultCacheFactory$ReferenceTrackingCache.useCache(DefaultCacheFactory.java:187)
	at org.gradle.api.internal.artifacts.ivyservice.DefaultCacheLockingManager.useCache(DefaultCacheLockingManager.java:64)
	at org.gradle.api.internal.artifacts.ivyservice.ContextualArtifactResolver.executeInContext(ContextualArtifactResolver.java:67)
	at org.gradle.api.internal.artifacts.ivyservice.ContextualArtifactResolver.resolveArtifact(ContextualArtifactResolver.java:59)
	at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.ErrorHandlingArtifactResolver.resolveArtifact(ErrorHandlingArtifactResolver.java:53)
	at org.gradle.api.internal.artifacts.ivyservice.resolveengine.artifact.DefaultArtifactSet$LazyArtifactSource.create(DefaultArtifactSet.java:93)
	at org.gradle.api.internal.artifacts.ivyservice.resolveengine.artifact.DefaultArtifactSet$LazyArtifactSource.create(DefaultArtifactSet.java:80)
	at org.gradle.api.internal.artifacts.DefaultResolvedArtifact.getFile(DefaultResolvedArtifact.java:90)
	at org.gradle.api.internal.artifacts.ivyservice.DefaultLenientConfiguration$2.run(DefaultLenientConfiguration.java:122)
	at org.gradle.internal.Factories$1.create(Factories.java:22)
	at org.gradle.cache.internal.DefaultCacheAccess.useCache(DefaultCacheAccess.java:192)
	at org.gradle.cache.internal.DefaultCacheAccess.useCache(DefaultCacheAccess.java:175)
	at org.gradle.cache.internal.DefaultPersistentDirectoryStore.useCache(DefaultPersistentDirectoryStore.java:106)
	at org.gradle.cache.internal.DefaultCacheFactory$ReferenceTrackingCache.useCache(DefaultCacheFactory.java:187)
	at org.gradle.api.internal.artifacts.ivyservice.DefaultCacheLockingManager.useCache(DefaultCacheLockingManager.java:64)
	at org.gradle.api.internal.artifacts.ivyservice.DefaultLenientConfiguration.getFiles(DefaultLenientConfiguration.java:119)
	at org.gradle.api.internal.artifacts.ivyservice.DefaultLenientConfiguration.getFilesStrict(DefaultLenientConfiguration.java:91)
	at org.gradle.api.internal.artifacts.ivyservice.DefaultResolvedConfiguration.getFiles(DefaultResolvedConfiguration.java:45)
	at org.gradle.api.internal.artifacts.ivyservice.SelfResolvingDependencyConfigurationResolver$FilesAggregatingResolvedConfiguration.getFiles(SelfResolvingDependencyConfigurationResolver.java:87)
	at org.gradle.api.internal.artifacts.ivyservice.ErrorHandlingConfigurationResolver$ErrorHandlingResolvedConfiguration.getFiles(ErrorHandlingConfigurationResolver.java:197)
	... 64 more
Caused by: org.gradle.internal.resource.ResourceException: Could not get resource 'https://repository.liferay.com/nexus/content/groups/public/com/liferay/com.liferay.gradle.plugins.service.builder/1.0.10/com.liferay.gradle.plugins.service.builder-1.0.10.jar'.
	at org.gradle.internal.resource.ResourceException.failure(ResourceException.java:61)
	at org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceArtifactResolver.downloadStaticResource(DefaultExternalResourceArtifactResolver.java:99)
	at org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceArtifactResolver.resolveArtifact(DefaultExternalResourceArtifactResolver.java:60)
	at org.gradle.api.internal.artifacts.repositories.resolver.ExternalResourceResolver.download(ExternalResourceResolver.java:252)
	at org.gradle.api.internal.artifacts.repositories.resolver.ExternalResourceResolver.resolveArtifact(ExternalResourceResolver.java:238)
	... 109 more
Caused by: org.gradle.internal.resource.transport.http.HttpRequestException: Could not GET 'https://repository.liferay.com/nexus/content/groups/public/com/liferay/com.liferay.gradle.plugins.service.builder/1.0.10/com.liferay.gradle.plugins.service.builder-1.0.10.jar'.
	at org.gradle.internal.resource.transport.http.HttpClientHelper.performRequest(HttpClientHelper.java:72)
	at org.gradle.internal.resource.transport.http.HttpClientHelper.performRawGet(HttpClientHelper.java:58)
	at org.gradle.internal.resource.transport.http.HttpClientHelper.performGet(HttpClientHelper.java:62)
	at org.gradle.internal.resource.transport.http.HttpResourceAccessor.openResource(HttpResourceAccessor.java:51)
	at org.gradle.internal.resource.transport.http.HttpResourceAccessor.openResource(HttpResourceAccessor.java:34)
	at org.gradle.internal.resource.transfer.DefaultExternalResourceConnector.openResource(DefaultExternalResourceConnector.java:41)
	at org.gradle.internal.resource.transfer.ProgressLoggingExternalResourceAccessor.openResource(ProgressLoggingExternalResourceAccessor.java:36)
	at org.gradle.internal.resource.transport.DefaultExternalResourceRepository.getResource(DefaultExternalResourceRepository.java:63)
	at org.gradle.internal.resource.transfer.DefaultCacheAwareExternalResourceAccessor.getResource(DefaultCacheAwareExternalResourceAccessor.java:75)
	at org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceArtifactResolver.downloadStaticResource(DefaultExternalResourceArtifactResolver.java:90)
	... 112 more
Caused by: org.apache.http.conn.HttpHostConnectException: Connect to repository.liferay.com:443 [repository.liferay.com/127.0.0.1] failed: Connection refused
	at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:151)
	at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:353)
	at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:380)
	at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236)
	at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:184)
	at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:88)
	at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
	at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184)
	at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
	at org.gradle.internal.resource.transport.http.HttpClientHelper.performHttpRequest(HttpClientHelper.java:102)
	at org.gradle.internal.resource.transport.http.HttpClientHelper.executeGetOrHead(HttpClientHelper.java:79)
	at org.gradle.internal.resource.transport.http.HttpClientHelper.performRequest(HttpClientHelper.java:70)
	... 121 more
Caused by: java.net.ConnectException: Connection refused
	at org.apache.http.conn.ssl.SSLConnectionSocketFactory.connectSocket(SSLConnectionSocketFactory.java:337)
	at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:134)
	... 132 more


BUILD FAILED

Total time: 0.818 secs
Stopped 0 compiler daemon(s).
thumbnail
David H Nebinger,修改在7 年前。

RE: Using a Maven repository proxy for Gradle builds of Liferay 7 projects

Liferay Legend 帖子: 14914 加入日期: 06-9-2 最近的帖子
You should be able to define your nexus repo in the settings.gradle file to use it instead of the defaults:

gradle.allprojects {
	buildscript {
		repositories {
			mavenLocal()

			maven {
				url "https://my.nexus.url/"
			}
		}
	}

	repositories {
		mavenLocal()

		maven {
				url "https://my.nexus.url/"
		}
	}
}

buildscript {
	dependencies {
		...
	}

	repositories {
		mavenLocal()

		maven {
				url "https://my.nexus.url/"
		}
	}
}
Roberto Longobardi,修改在7 年前。

RE: Using a Maven repository proxy for Gradle builds of Liferay 7 projects

New Member 帖子: 2 加入日期: 13-11-14 最近的帖子
Hi David,
thanks for your quick reply.

Actually what you suggest is exactly what we do: in fact you may notice from the previous error log above that a bunch of jars are indeed downloaded from our internal Nexus server.

The problem, anyway, is that some dependencies are anyway looked for in the remote Liferay repository.
These seem related to the service builder only.

The following are some of our build files, for your reference.

"gradle.properties"

nexusRepositoryUrl=http://mynexus/nexus/content/groups/public/
nexusRepositoryUrlCe=http://mynexus/nexus/content/groups/liferay-ce/


Root "settings.gradle"

buildscript {
	dependencies {
		classpath group: "com.liferay", name: "com.liferay.gradle.plugins.workspace", version: "1.0.29"
	}

	repositories {
		maven {
			url nexusRepositoryUrl
		}
	}
}

apply plugin: "com.liferay.workspace"


Sub-project build.gradle

apply plugin: 'java'

subprojects {
	buildscript {
			repositories {
				maven {
					url nexusRepositoryUrl
				}
				maven {
					url nexusRepositoryUrlCe
				}
			}
	}
}


Any idea?

Thanks,
Roberto
thumbnail
David H Nebinger,修改在7 年前。

RE: Using a Maven repository proxy for Gradle builds of Liferay 7 projects

Liferay Legend 帖子: 14914 加入日期: 06-9-2 最近的帖子
So the public is where liferay has copies of the public dependencies (non liferay jars).

The liferay ce repo is where the liferay artifacts are such as the servicebuilder jar.

The root settings.gradle applies to the root folder and that only wants to pull from public.

The sub project settings.gradle provides changes for sub projects to pull in ce artifacts like servicebuilder, but I'm wondering if that means it is not available at some point during the build where it needs to be available?

My repo example is in the root level and makes the defns apply to all subprojects.

Now I must admit I'm still learning this kind of stuff too, so I'm just guessing here. Since I have this working gradle config, I've been copying it all over the place more than figuring out how to make it work in each project emoticon
thumbnail
Jack Bakker,修改在7 年前。

RE: Using a Maven repository proxy for Gradle builds of Liferay 7 projects

Liferay Master 帖子: 978 加入日期: 10-1-3 最近的帖子
for anyone stumbling across this like I did and has a nexus that requires authentication

you can put a nexus username and password in your gradle.properties

nexusUsername=admin
nexusPassword=pass1234


and then in your settings.gradle, you can put in the credentials as below

maven {
	credentials {
		username nexusUsername
		password nexusPassword
	}
	url "https://mynexusurl"
}


and thanks David for your settings.gradle example including with the gradle.allprojects block, works like a 'charm'