[Git][java-team/gradle][upstream] New upstream version 4.4.1
Emmanuel Bourg
gitlab at salsa.debian.org
Wed Oct 3 15:19:19 BST 2018
Emmanuel Bourg pushed to branch upstream at Debian Java Maintainers / gradle
Commits:
b8c415cb by Emmanuel Bourg at 2018-10-01T13:20:27Z
New upstream version 4.4.1
- - - - -
12 changed files:
- build.gradle
- gradle/compile.gradle
- gradle/dependencies.gradle
- gradle/groovyProject.gradle
- gradle/wrapper/gradle-wrapper.properties
- released-versions.json
- subprojects/dependency-management/src/main/java/org/gradle/api/internal/artifacts/DefaultModuleVersionSelector.java
- subprojects/dependency-management/src/main/java/org/gradle/api/internal/runtimeshaded/ImplementationDependencyRelocator.java
- subprojects/distributions/src/changes/accepted-public-api-changes.json
- subprojects/plugin-development/src/integTest/groovy/org/gradle/plugin/devel/impldeps/GradleImplDepsShadingIssuesIntegrationTest.groovy
- subprojects/smoke-test/src/smokeTest/groovy/org/gradle/smoketests/NebulaPluginsSmokeTest.groovy
- version.txt
Changes:
=====================================
build.gradle
=====================================
@@ -15,8 +15,11 @@
*/
import org.gradle.build.Install
+import org.gradle.build.DefaultJavaInstallation
import org.gradle.cleanup.EmptyDirectoryCheck
+import org.gradle.jvm.toolchain.internal.JavaInstallationProbe
+
defaultTasks 'assemble'
apply plugin: 'java-base'
apply plugin: 'build-types'
@@ -287,9 +290,29 @@ task patchExternalModules(type: PatchExternalModules) {
task verifyIsProductionBuildEnvironment {
doLast {
- assert javaVersion.java7: "Must use a Java 7 compatible JVM to perform this build. Current JVM is ${jvm}"
+ assert javaVersion.java8:
+ "Must use a Java 8 compatible JVM to perform this build. Current JVM is ${jvm}"
+
+ def javaHomeProperty = { propertyName -> project.findProperty(propertyName) ?: System.getProperty(propertyName) }
+ def assertJavaHomeVersion = { propertyName, javaVersion ->
+ def javaInstallationPath = javaHomeProperty(propertyName)
+ assert javaInstallationPath:
+ "Must set $propertyName to the path of a Java $javaVersion compatible JVM to perform this build. " +
+ "Currently unset. Set -P$propertyName=/path/to/jvm/$javaVersion"
+ def javaInstallation = new DefaultJavaInstallation()
+ gradle.services.get(JavaInstallationProbe).checkJdk(file(javaInstallationPath)).configure(javaInstallation)
+ assert javaInstallation.javaVersion == javaVersion:
+ "Must set $propertyName to the path of a Java $javaVersion compatible JVM to perform this build. " +
+ "Is currently ${javaInstallation.displayName} at $javaInstallationPath. Set -P$propertyName=/path/to/jvm/$javaVersion"
+ }
+
+ assertJavaHomeVersion("java7Home", JavaVersion.VERSION_1_7)
+ if (javaHomeProperty("testJavaHome")) {
+ assertJavaHomeVersion("testJavaHome", JavaVersion.VERSION_1_8)
+ }
+
def systemCharset = java.nio.charset.Charset.defaultCharset().name()
- assert systemCharset == "UTF-8": "Platform encoding must be UTF-8. Is currently $systemCharset. Set -Dfile.encoding=UTF-8."
+ assert systemCharset == "UTF-8": "Platform encoding must be UTF-8. Is currently $systemCharset. Set -Dfile.encoding=UTF-8"
}
}
=====================================
gradle/compile.gradle
=====================================
@@ -7,7 +7,7 @@ if (!hasProperty('java7Home')) {
// possible to set compilation with Java 7 from the command line and from gradle.properties.
// Note that is this needs to work for buildSrc, too. Gradle properties passed
// on the command line (-P) are not inherited to buildSrc while system properties are.
- ext.java7Home = System.getProperty('java7.home')
+ ext.java7Home = System.getProperty('java7Home')
}
def javaInstallationProbe = gradle.services.get(JavaInstallationProbe)
=====================================
gradle/dependencies.gradle
=====================================
@@ -19,7 +19,7 @@ ext {
libraries = [:]
}
-versions.gradle_kotlin_dsl = '0.13.1'
+versions.gradle_kotlin_dsl = '0.13.2'
versions.commons_io = 'commons-io:commons-io:2.2'
=====================================
gradle/groovyProject.gradle
=====================================
@@ -1,6 +1,10 @@
import org.gradle.build.ClasspathManifest
+import org.gradle.build.DefaultJavaInstallation
import org.gradle.testing.DistributionTest
+import org.gradle.internal.jvm.Jvm
+import org.gradle.jvm.toolchain.internal.JavaInstallationProbe
+
import java.util.jar.Attributes
apply plugin: 'groovy'
@@ -9,14 +13,29 @@ archivesBaseName = "gradle-${name.replaceAll("\\p{Upper}") { "-${it.toLowerCase(
sourceCompatibility = 1.7
+def javaInstallationProbe = gradle.services.get(JavaInstallationProbe)
+
ext {
compileTasks = tasks.matching { it instanceof JavaCompile || it instanceof GroovyCompile }
testTasks = tasks.withType(Test)
+ javaInstallationForTest = new DefaultJavaInstallation()
generatedResourcesDir = file("$buildDir/generated-resources/main")
generatedTestResourcesDir = file("$buildDir/generated-resources/test")
jarTasks = tasks.withType(Jar)
}
+if(!hasProperty("testJavaHome")) {
+ ext.testJavaHome = System.getProperty("testJavaHome")
+}
+if (testJavaHome) {
+ def testJavaHomeFile = new File(testJavaHome)
+ javaInstallationForTest.javaHome = testJavaHomeFile
+ javaInstallationProbe.checkJdk(testJavaHomeFile).configure(javaInstallationForTest)
+} else {
+ javaInstallationForTest.javaHome = jvm.javaHome
+ javaInstallationProbe.current(javaInstallationForTest)
+}
+
dependencies {
testCompile libraries.junit, libraries.jmock, libraries.spock, libraries.groovy
}
@@ -49,12 +68,15 @@ testTasks.all { task ->
}
}
}
- if (javaVersion.java7) {
+ executable = Jvm.forHome(javaInstallationForTest.javaHome).javaExecutable
+ environment['JAVA_HOME'] = javaInstallationForTest.javaHome.absolutePath
+ if (javaInstallationForTest.javaVersion.java7) {
// enable class unloading
task.jvmArgs '-XX:+UseConcMarkSweepGC', '-XX:+CMSClassUnloadingEnabled'
}
task.inputs.property('javaInstallation') {
- currentJavaInstallation.displayName
+ // Includes JVM vendor and major version
+ javaInstallationForTest.displayName
}
doFirst {
if (isCiServer) {
=====================================
gradle/wrapper/gradle-wrapper.properties
=====================================
@@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-rc-5-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-bin.zip
=====================================
released-versions.json
=====================================
@@ -1,16 +1,20 @@
{
"latestReleaseSnapshot": {
- "buildTime": "20171107130851+0000",
- "version": "4.3.1-20171107130851+0000"
+ "buildTime": "20171130161825+0000",
+ "version": "4.4-20171130161825+0000"
},
"latestRc": {
- "buildTime": "20171026162557+0000",
- "version": "4.3-rc-4"
+ "buildTime": "20171204084815+0000",
+ "version": "4.4-rc-6"
},
"finalReleases": [
{
- "version": "4.3.1",
- "buildTime": "20171108085945+0000"
+ "version": "4.4",
+ "buildTime": "20171206090506+0000"
+ },
+ {
+ "buildTime": "20171108085945+0000",
+ "version": "4.3.1"
},
{
"buildTime": "20171030154329+0000",
@@ -217,4 +221,4 @@
"version": "0.7"
}
]
-}
\ No newline at end of file
+}
=====================================
subprojects/dependency-management/src/main/java/org/gradle/api/internal/artifacts/DefaultModuleVersionSelector.java
=====================================
@@ -33,6 +33,12 @@ public class DefaultModuleVersionSelector implements ModuleVersionSelector {
this.name = name;
this.moduleVersionConstraint = versionConstraint;
}
+
+ // DO NOT USE THIS CONSTRUCTOR DIRECTLY
+ // It's only there for backwards compatibility with the Nebula plugin
+ public DefaultModuleVersionSelector(String group, String name, String version) {
+ this(group, name, new DefaultMutableVersionConstraint(version));
+ }
public String getGroup() {
return group;
=====================================
subprojects/dependency-management/src/main/java/org/gradle/api/internal/runtimeshaded/ImplementationDependencyRelocator.java
=====================================
@@ -24,6 +24,8 @@ import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.nio.charset.Charset;
+import java.util.Arrays;
+import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -81,8 +83,24 @@ class ImplementationDependencyRelocator extends Remapper {
}
public boolean keepOriginalResource(String resource) {
- return resource == null || maybeRelocateResource(resource) == null
- || !resource.startsWith("com/sun/jna"); // in order to use a newer version of jna the resources must not be available in the old location
+ return resource == null
+ || maybeRelocateResource(resource) == null
+ || !mustBeRelocated(resource);
+ }
+
+ private final List<String> mustRelocateList = Arrays.asList(
+ // In order to use a newer version of jna the resources must not be available in the old location
+ "com/sun/jna",
+ // JGit properties work from their relocated locations and conflict if they are left in place.
+ "org/eclipse/jgit");
+
+ private final boolean mustBeRelocated(String resource) {
+ for (String mustRelocate : mustRelocateList) {
+ if (resource.startsWith(mustRelocate)) {
+ return true;
+ }
+ }
+ return false;
}
public ClassLiteralRemapping maybeRemap(String literal) {
=====================================
subprojects/distributions/src/changes/accepted-public-api-changes.json
=====================================
@@ -1,175 +1,4 @@
{
"acceptedApiChanges": [
- {
- "type": "org.gradle.api.tasks.testing.AbstractTestTask",
- "member": "Class org.gradle.api.tasks.testing.AbstractTestTask",
- "acceptation": "Extracted super class out of Test which was already stable",
- "changes": [
- "Interface has been added"
- ]
- },
- {
- "type": "org.gradle.api.tasks.testing.AbstractTestTask",
- "member": "Method org.gradle.api.tasks.testing.AbstractTestTask.addTestListener(org.gradle.api.tasks.testing.TestListener)",
- "acceptation": "Extracted super class out of Test which was already stable"
- },
- {
- "type": "org.gradle.api.tasks.testing.AbstractTestTask",
- "member": "Method org.gradle.api.tasks.testing.AbstractTestTask.addTestOutputListener(org.gradle.api.tasks.testing.TestOutputListener)",
- "acceptation": "Extracted super class out of Test which was already stable"
- },
- {
- "type": "org.gradle.api.tasks.testing.AbstractTestTask",
- "member": "Method org.gradle.api.tasks.testing.AbstractTestTask.afterSuite(groovy.lang.Closure)",
- "acceptation": "Extracted super class out of Test which was already stable"
- },
- {
- "type": "org.gradle.api.tasks.testing.AbstractTestTask",
- "member": "Method org.gradle.api.tasks.testing.AbstractTestTask.afterTest(groovy.lang.Closure)",
- "acceptation": "Extracted super class out of Test which was already stable"
- },
- {
- "type": "org.gradle.api.tasks.testing.AbstractTestTask",
- "member": "Method org.gradle.api.tasks.testing.AbstractTestTask.beforeSuite(groovy.lang.Closure)",
- "acceptation": "Extracted super class out of Test which was already stable"
- },
- {
- "type": "org.gradle.api.tasks.testing.AbstractTestTask",
- "member": "Method org.gradle.api.tasks.testing.AbstractTestTask.beforeTest(groovy.lang.Closure)",
- "acceptation": "Extracted super class out of Test which was already stable"
- },
- {
- "type": "org.gradle.api.tasks.testing.AbstractTestTask",
- "member": "Method org.gradle.api.tasks.testing.AbstractTestTask.getBuildOperationExecutor()",
- "acceptation": "Extracted super class out of Test which was already stable"
- },
- {
- "type": "org.gradle.api.tasks.testing.AbstractTestTask",
- "member": "Method org.gradle.api.tasks.testing.AbstractTestTask.getIgnoreFailures()",
- "acceptation": "Extracted super class out of Test which was already stable"
- },
- {
- "type": "org.gradle.api.tasks.testing.AbstractTestTask",
- "member": "Method org.gradle.api.tasks.testing.AbstractTestTask.getInstantiator()",
- "acceptation": "Extracted super class out of Test which was already stable"
- },
- {
- "type": "org.gradle.api.tasks.testing.AbstractTestTask",
- "member": "Method org.gradle.api.tasks.testing.AbstractTestTask.getListenerManager()",
- "acceptation": "Extracted super class out of Test which was already stable"
- },
- {
- "type": "org.gradle.api.tasks.testing.AbstractTestTask",
- "member": "Method org.gradle.api.tasks.testing.AbstractTestTask.getProgressLoggerFactory()",
- "acceptation": "Extracted super class out of Test which was already stable"
- },
- {
- "type": "org.gradle.api.tasks.testing.AbstractTestTask",
- "member": "Method org.gradle.api.tasks.testing.AbstractTestTask.getTestLogging()",
- "acceptation": "Extracted super class out of Test which was already stable"
- },
- {
- "type": "org.gradle.api.tasks.testing.AbstractTestTask",
- "member": "Method org.gradle.api.tasks.testing.AbstractTestTask.getTextOutputFactory()",
- "acceptation": "Extracted super class out of Test which was already stable"
- },
- {
- "type": "org.gradle.api.tasks.testing.AbstractTestTask",
- "member": "Method org.gradle.api.tasks.testing.AbstractTestTask.onOutput(groovy.lang.Closure)",
- "acceptation": "Extracted super class out of Test which was already stable"
- },
- {
- "type": "org.gradle.api.tasks.testing.AbstractTestTask",
- "member": "Method org.gradle.api.tasks.testing.AbstractTestTask.removeTestListener(org.gradle.api.tasks.testing.TestListener)",
- "acceptation": "Extracted super class out of Test which was already stable"
- },
- {
- "type": "org.gradle.api.tasks.testing.AbstractTestTask",
- "member": "Method org.gradle.api.tasks.testing.AbstractTestTask.removeTestOutputListener(org.gradle.api.tasks.testing.TestOutputListener)",
- "acceptation": "Extracted super class out of Test which was already stable"
- },
- {
- "type": "org.gradle.api.tasks.testing.AbstractTestTask",
- "member": "Method org.gradle.api.tasks.testing.AbstractTestTask.setIgnoreFailures(boolean)",
- "acceptation": "Extracted super class out of Test which was already stable"
- },
- {
- "type": "org.gradle.api.tasks.testing.AbstractTestTask",
- "member": "Method org.gradle.api.tasks.testing.AbstractTestTask.testLogging(groovy.lang.Closure)",
- "acceptation": "Extracted super class out of Test which was already stable"
- },
- {
- "type": "org.gradle.api.tasks.testing.AbstractTestTask",
- "member": "Method org.gradle.api.tasks.testing.AbstractTestTask.testLogging(org.gradle.api.Action)",
- "acceptation": "Extracted super class out of Test which was already stable"
- },
- {
- "type": "org.gradle.api.tasks.testing.AbstractTestTask",
- "member": "Method org.gradle.api.tasks.testing.AbstractTestTask.executeTests()",
- "acceptation": "Extracted super class out of Test which was already stable"
- },
- {
- "type": "org.gradle.api.tasks.testing.Test",
- "member": "Method org.gradle.api.tasks.testing.Test.setTestExecuter(org.gradle.api.internal.tasks.testing.detection.TestExecuter)",
- "acceptation": "Extracted super class out of Test which was already stable",
- "changes": [
- "Method has been removed"
- ]
- },
- {
- "type": "org.gradle.api.tasks.testing.AbstractTestTask",
- "member": "Method org.gradle.api.tasks.testing.AbstractTestTask.getInetAddressFactory()",
- "acceptation": "Extracted super class out of Test which was already stable"
- },
- {
- "type": "org.gradle.api.tasks.testing.AbstractTestTask",
- "member": "Method org.gradle.api.tasks.testing.AbstractTestTask.getReports()",
- "acceptation": "Extracted super class out of Test which was already stable"
- },
- {
- "type": "org.gradle.api.tasks.testing.AbstractTestTask",
- "member": "Method org.gradle.api.tasks.testing.AbstractTestTask.reports(groovy.lang.Closure)",
- "acceptation": "Extracted super class out of Test which was already stable"
- },
- {
- "type": "org.gradle.api.tasks.testing.AbstractTestTask",
- "member": "Method org.gradle.api.tasks.testing.AbstractTestTask.reports(org.gradle.api.Action)",
- "acceptation": "Extracted super class out of Test which was already stable"
- },
- {
- "type": "org.gradle.api.tasks.testing.AbstractTestTask",
- "member": "Constructor org.gradle.api.tasks.testing.AbstractTestTask()",
- "acceptation": "Extracted super class out of Test which was already stable"
- },
- {
- "type": "org.gradle.ide.xcode.plugins.XcodePlugin",
- "member": "Constructor org.gradle.ide.xcode.plugins.XcodePlugin(org.gradle.ide.xcode.internal.xcodeproj.GidGenerator,org.gradle.api.model.ObjectFactory)",
- "acceptation": "Change to constructor of incubating type/plugin"
- },
- {
- "type": "org.gradle.nativeplatform.test.xctest.plugins.XCTestConventionPlugin",
- "member": "Constructor org.gradle.nativeplatform.test.xctest.plugins.XCTestConventionPlugin(org.gradle.nativeplatform.test.xctest.internal.MacOSSdkPlatformPathLocator)",
- "acceptation": "Refactor argument of an injectable constructor"
- },
- {
- "type": "org.gradle.language.nativeplatform.tasks.AbstractNativeCompileTask",
- "member": "Method org.gradle.language.nativeplatform.tasks.AbstractNativeCompileTask.getFileCollectionFactory()",
- "acceptation": "Injected service"
- },
- {
- "type": "org.gradle.nativeplatform.test.xctest.tasks.XcTest",
- "member": "Constructor org.gradle.nativeplatform.test.xctest.tasks.XcTest()",
- "acceptation": "Using default constructor"
- },
- {
- "type": "org.gradle.language.nativeplatform.tasks.Depend",
- "member": "Constructor org.gradle.language.nativeplatform.tasks.Depend(org.gradle.api.internal.changedetection.state.FileSystemSnapshotter,org.gradle.language.nativeplatform.internal.incremental.CompilationStateCacheFactory,org.gradle.api.internal.file.collections.DirectoryFileTreeFactory,org.gradle.language.nativeplatform.internal.incremental.sourceparser.CSourceParser)",
- "acceptation": "Added parameter to injectable constructor"
- },
- {
- "type": "org.gradle.api.publish.maven.plugins.MavenPublishPlugin",
- "member": "Constructor org.gradle.api.publish.maven.plugins.MavenPublishPlugin(org.gradle.internal.reflect.Instantiator,org.gradle.api.internal.artifacts.configurations.DependencyMetaDataProvider,org.gradle.api.internal.file.FileResolver,org.gradle.api.publish.internal.ProjectDependencyPublicationResolver,org.gradle.api.internal.file.FileCollectionFactory,org.gradle.api.internal.ExperimentalFeatures)",
- "acceptation": "Change to constructor of incubating plugin"
- }
]
}
=====================================
subprojects/plugin-development/src/integTest/groovy/org/gradle/plugin/devel/impldeps/GradleImplDepsShadingIssuesIntegrationTest.groovy
=====================================
@@ -17,6 +17,8 @@
package org.gradle.plugin.devel.impldeps
import org.gradle.testfixtures.ProjectBuilder
+import org.gradle.util.Requires
+import org.gradle.util.TestPrecondition
import spock.lang.Issue
class GradleImplDepsShadingIssuesIntegrationTest extends BaseGradleImplDepsIntegrationTest {
@@ -147,4 +149,33 @@ class GradleImplDepsShadingIssuesIntegrationTest extends BaseGradleImplDepsInteg
then:
succeeds 'test'
}
+
+ @Issue("https://github.com/gradle/gradle/issues/3780")
+ @Requires(TestPrecondition.JDK8_OR_LATER)
+ def "can use different JGit API"() {
+ when:
+ buildFile << testableGroovyProject()
+
+ buildFile << """
+ dependencies {
+ testCompile 'org.eclipse.jgit:org.eclipse.jgit:4.9.1.201712030800-r'
+ }
+ """
+
+ file('src/test/groovy/JGitTest.groovy') << '''
+ import org.junit.Test
+
+ class JGitTest {
+ @Test
+ void loadJGitResources() {
+ assert org.eclipse.jgit.internal.JGitText.getPackage().getImplementationVersion() == "4.9.1.201712030800-r"
+ assert org.eclipse.jgit.internal.JGitText.get() != null
+ assert org.gradle.internal.impldep.org.eclipse.jgit.internal.JGitText.get() != null
+ }
+ }
+ '''.stripIndent()
+
+ then:
+ succeeds 'test'
+ }
}
=====================================
subprojects/smoke-test/src/smokeTest/groovy/org/gradle/smoketests/NebulaPluginsSmokeTest.groovy
=====================================
@@ -17,6 +17,7 @@
package org.gradle.smoketests
import spock.lang.Issue
+import spock.lang.Unroll
class NebulaPluginsSmokeTest extends AbstractSmokeTest {
@@ -123,4 +124,70 @@ testCompile('junit:junit:4.7')""")
then:
runner('buildEnvironment', 'generateLock').build()
}
+
+ @Issue("gradle/gradle#3798")
+ @Unroll
+ def "nebula dependency lock plugin version #version binary compatibility"() {
+ when:
+ buildFile << """
+ plugins {
+ id 'java-library'
+ id 'nebula.dependency-lock' version '$version'
+ }
+
+ repositories {
+ jcenter()
+ }
+
+ dependencies {
+ api 'org.apache.commons:commons-math3:3.6.1'
+ }
+
+ task resolve {
+ doFirst {
+ configurations.compileClasspath.each { println it.name }
+ }
+ }
+ """
+ file('dependencies.lock') << '''{
+ "compileClasspath": {
+ "org.apache.commons:commons-math3": {
+ "locked": "3.6.1",
+ "requested": "3.6.1"
+ }
+ },
+ "default": {
+ "org.apache.commons:commons-math3": {
+ "locked": "3.6.1",
+ "requested": "3.6.1"
+ }
+ },
+ "runtimeClasspath": {
+ "org.apache.commons:commons-math3": {
+ "locked": "3.6.1",
+ "requested": "3.6.1"
+ }
+ },
+ "testCompileClasspath": {
+ "org.apache.commons:commons-math3": {
+ "locked": "3.6.1",
+ "requested": "3.6.1"
+ }
+ },
+ "testRuntimeClasspath": {
+ "org.apache.commons:commons-math3": {
+ "locked": "3.6.1",
+ "requested": "3.6.1"
+ }
+ }
+}'''
+
+ then:
+ runner('dependencies').build()
+ runner('generateLock').build()
+ runner('resolve').build()
+
+ where:
+ version << ['4.9.5', '5.0.0']
+ }
}
=====================================
version.txt
=====================================
@@ -1 +1,2 @@
-4.4
\ No newline at end of file
+4.4.1
+
View it on GitLab: https://salsa.debian.org/java-team/gradle/commit/b8c415cbd42506d22ec91c89ff9fc98365b63396
--
View it on GitLab: https://salsa.debian.org/java-team/gradle/commit/b8c415cbd42506d22ec91c89ff9fc98365b63396
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-java-commits/attachments/20181003/6c912d32/attachment.html>
More information about the pkg-java-commits
mailing list