From ee36dd1ab101fff493a6145cfa61174bfb90622c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Schalk=20W=2E=20Cronj=C3=A9?= Date: Tue, 27 Oct 2015 23:31:14 +0000 Subject: [PATCH 1/3] FIXED #50. Gradle compatibility testing with GradleTest --- build.gradle | 2 +- gradle-plugin/build.gradle | 11 ++++++ .../src/gradleTest/downloadFiles/build.gradle | 34 +++++++++++++++++++ 3 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 gradle-plugin/src/gradleTest/downloadFiles/build.gradle diff --git a/build.gradle b/build.gradle index 509e47b..4f7d007 100644 --- a/build.gradle +++ b/build.gradle @@ -26,7 +26,7 @@ buildscript { allprojects { ext { - versionModifier = 'beta5-SNAPSHOT' + versionModifier = 'beta6-SNAPSHOT' versionNumber = '1.0' modulesWithGroovyDoc = [ 'dsl', diff --git a/gradle-plugin/build.gradle b/gradle-plugin/build.gradle index b0301a4..2383d11 100644 --- a/gradle-plugin/build.gradle +++ b/gradle-plugin/build.gradle @@ -18,10 +18,12 @@ buildscript { } dependencies { classpath "com.gradle.publish:plugin-publish-plugin:0.9.0" + classpath "org.ysb33r.gradle:gradletest:0.5.4" } } apply plugin : 'com.gradle.plugin-publish' +apply plugin : 'org.ysb33r.gradletest' group = 'org.ysb33r.gradle' archivesBaseName = 'vfs-gradle-plugin' @@ -45,6 +47,9 @@ dependencies { testCompile project(':test-servers') + gradleTest project( path:':dsl',configuration:'default') + gradleTest 'commons-httpclient:commons-httpclient:3.1' + } @@ -85,3 +90,9 @@ pluginBundle { publishPlugins { onlyIf { !version.endsWith("SNAPSHOT") } } + +gradleTest { + versions '2.0' ,'2.2', '2.3', '2.5', '2.8' + + onlyIf { !gradle.startParameter.isOffline() } +} \ No newline at end of file diff --git a/gradle-plugin/src/gradleTest/downloadFiles/build.gradle b/gradle-plugin/src/gradleTest/downloadFiles/build.gradle new file mode 100644 index 0000000..6dd06bc --- /dev/null +++ b/gradle-plugin/src/gradleTest/downloadFiles/build.gradle @@ -0,0 +1,34 @@ +import org.gradle.internal.os.OperatingSystem + +buildscript { + dependencies { + classpath 'org.ysb33r.gradle:vfs-gradle-plugin:%%VERSION%%' + classpath fileTree(dir : "../../repo", include : '*.jar') + } +} + +apply plugin : 'org.ysb33r.vfs' + +ext { + gvfsGithubRoot = 'https://github.com/ysb33r/groovy-vfs/archive' +} + +task copyCustom { + mkdir "${buildDir}/${name}" + vfs { + cp "${gvfsGithubRoot}/development.zip", file("${buildDir}/${name}"), + overwrite : true + } +} + +import org.ysb33r.gradle.vfs.tasks.VfsCopy +task copyTask( type : VfsCopy ) { + from "${gvfsGithubRoot}/master.zip" + + into file("${buildDir}/${name}") +} + +task runGradleTest { + dependsOn copyCustom, copyTask +} + From 4c9543d1acfc20fb84c10041d31e628165e9a866 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Schalk=20W=2E=20Cronj=C3=A9?= Date: Thu, 5 Nov 2015 14:26:05 +0000 Subject: [PATCH 2/3] Workaround issue in plugin-publish-plugin by renaming the dsl project to groovy-vfs, but keeping the fodler naem as dsl --- build.gradle | 5 ++- cmdline/build.gradle | 3 +- docs/build.gradle | 3 +- gradle-plugin/build.gradle | 62 +++++++++++++++++++++++++++++++++++--- settings.gradle | 11 +++++-- smb-provider/build.gradle | 3 +- 6 files changed, 77 insertions(+), 10 deletions(-) diff --git a/build.gradle b/build.gradle index 4f7d007..1cace84 100644 --- a/build.gradle +++ b/build.gradle @@ -54,6 +54,9 @@ subprojects { ext { vfsVersion = '2.0' groovyVer = '[2.1,2.3.9]' + jackrabbitVer = '1.6.5' // '2.11.1' + jettyVer = '8.1.5.v20120716' //'9.3.5.v20151012' + slf4jVer = '1.7.5' bintrayRepo = 'grysb33r' bintrayUser = 'ysb33r' bintrayLicense = 'Apache-2.0' @@ -99,7 +102,7 @@ configure(subprojects.findAll { ! ['jlan','test-servers','docs'].contains(it.nam testCompile 'commons-io:commons-io:2.4' testCompile 'commons-net:commons-net:3.+' testRuntime 'commons-httpclient:commons-httpclient:3.1' - testRuntime 'org.slf4j:slf4j-simple:1.7.5' + testRuntime "org.slf4j:slf4j-simple:${slf4jVer}" testCompile ('org.spockframework:spock-core:1.0-groovy-2.3') { diff --git a/cmdline/build.gradle b/cmdline/build.gradle index e6a8557..fe9e30c 100644 --- a/cmdline/build.gradle +++ b/cmdline/build.gradle @@ -54,7 +54,8 @@ dependencies { runtime 'commons-httpclient:commons-httpclient:3.1' runtime 'org.slf4j:slf4j-simple:1.7.5' runtime 'com.jcraft:jsch:0.1.48' - compile project(':dsl') + compile project(':groovy-vfs') +// compile project(':dsl') runtime project(':smb-provider') runtime project(':cloud-provider-core') } diff --git a/docs/build.gradle b/docs/build.gradle index b42818a..8f681e0 100644 --- a/docs/build.gradle +++ b/docs/build.gradle @@ -36,7 +36,8 @@ asciidoctor { } attributes revnumber: "${version}", - dslSrcRoot : "${project(':dsl').projectDir}/src", +// dslSrcRoot : "${project(':dsl').projectDir}/src", + dslSrcRoot : "${project(':groovy-vfs').projectDir}/src", gradleSrcRoot : "${project(':gradle-plugin').projectDir}/src", smbSrcRoot : "${project(':smb-provider').projectDir}/src", cloudSrcRoot : "${project(':cloud-provider-core').projectDir}/src", diff --git a/gradle-plugin/build.gradle b/gradle-plugin/build.gradle index 2383d11..989c155 100644 --- a/gradle-plugin/build.gradle +++ b/gradle-plugin/build.gradle @@ -1,3 +1,5 @@ +import org.gradle.api.internal.artifacts.dependencies.DefaultProjectDependency + // ============================================================================ // (C) Copyright Schalk W. Cronje 2013 // @@ -17,7 +19,7 @@ buildscript { } } dependencies { - classpath "com.gradle.publish:plugin-publish-plugin:0.9.0" + classpath "com.gradle.publish:plugin-publish-plugin:0.9.1" classpath "org.ysb33r.gradle:gradletest:0.5.4" } } @@ -34,12 +36,15 @@ ext { bintrayDescription = 'This is a plugin for Gradle that utilises the Groovy VFS DSL' bintrayTags = ['gradle','groovy','vfs','groovy-vfs'] bintrayAttributes = [ 'gradle-plugin' : "org.ysb33r.vfs:${group}:${archivesBaseName}" ] + + dslProject = dependencies.project( path:':groovy-vfs',configuration:'default') } configurations.all { exclude module: 'groovy-all' } dependencies { - compile project( path:':dsl',configuration:'default') + compile dslProject +// compile project( path:':dsl',configuration:'default') compile gradleApi() compile localGroovy() @@ -47,7 +52,8 @@ dependencies { testCompile project(':test-servers') - gradleTest project( path:':dsl',configuration:'default') +// gradleTest project( path:':dsl',configuration:'default') + gradleTest dslProject gradleTest 'commons-httpclient:commons-httpclient:3.1' } @@ -95,4 +101,52 @@ gradleTest { versions '2.0' ,'2.2', '2.3', '2.5', '2.8' onlyIf { !gradle.startParameter.isOffline() } -} \ No newline at end of file +} + +task foo << { + + def addDependency = { mavenDeps, dep, scope -> + +println "+++ ${dep}" + + if(dep instanceof DefaultProjectDependency) { + println " ---- ${(dep as DefaultProjectDependency).dependencyProject.archivesBaseName}" + } + def mavenDep = new org.gradle.mvn3.org.apache.maven.model.Dependency() + mavenDep.setGroupId(dep.getGroup()); + mavenDep.setArtifactId(dep.getName()); + mavenDep.setVersion(dep.getVersion()); + mavenDep.setScope(scope); + +println " *** ${mavenDep}" + if (!dep.isTransitive()) { + LOGGER.warn(format("Dependency %s:%s:%s is marked as non-transitive, but this is not" + + "supported by the underlying Maven publishing mechanism", + dep.getGroup(), dep.getName(), dep.getVersion())); + } + Set excludeRules = dep.getExcludeRules(); + if (excludeRules != null) { + for (ExcludeRule e : excludeRules) { + def mavenEx = new org.gradle.mvn3.org.apache.maven.model.Exclusion(); + mavenEx.setGroupId(e.getGroup()); + mavenEx.setArtifactId(e.getModule()); + mavenDep.addExclusion(mavenEx); + } + } + mavenDeps.add(mavenDep); + } + def addDependencies = { mavenDeps, config, scope -> + for(org.gradle.api.artifacts.Dependency dep : config.getDependencies()) { + if(dep instanceof ModuleDependency) { + addDependency(mavenDeps, (ModuleDependency) dep, scope); + } + } + } + + def compile = configurations.getByName(JavaPlugin.COMPILE_CONFIGURATION_NAME) + List mavenDeps = new ArrayList(); + addDependencies(mavenDeps, compile, org.gradle.api.artifacts.maven.Conf2ScopeMappingContainer.COMPILE) + + println mavenDeps +} + diff --git a/settings.gradle b/settings.gradle index fcabc33..37a2228 100644 --- a/settings.gradle +++ b/settings.gradle @@ -10,10 +10,9 @@ // // ============================================================================ -rootProject.name = 'groovy-vfs' +rootProject.name = 'groovy-vfs-project' include 'test-servers' -include 'dsl' include 'gradle-plugin' include 'jlan' //include 'cpio-provider' @@ -21,3 +20,11 @@ include 'smb-provider' include 'cmdline' include 'cloud-provider-core' include 'docs' + +//include 'dsl' +//include 'groovy-vfs' +//project(':groovy-vfs').projectDir = file('dsl') +include 'dsl' +project(':dsl').name = 'groovy-vfs' + +//rootProject.children.find { it.name = 'dsl' } .name = 'groovy-vfs' \ No newline at end of file diff --git a/smb-provider/build.gradle b/smb-provider/build.gradle index 7718df0..5ecb528 100644 --- a/smb-provider/build.gradle +++ b/smb-provider/build.gradle @@ -16,7 +16,8 @@ dependencies { compile "org.apache.commons:commons-vfs2:${vfsVersion}" compile 'jcifs:jcifs:1.3.17' - testCompile project(':dsl') +// testCompile project(':dsl') + testCompile project(':groovy-vfs') testCompile fileTree( dir : "${project(':jlan').buildDir}/libs", include: '*.jar' ) } From 67a025db0cab69023dac5b517e7913452222f74b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Schalk=20W=2E=20Cronj=C3=A9?= Date: Thu, 5 Nov 2015 15:30:00 +0000 Subject: [PATCH 3/3] Releasing 1.0-beta6 --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 1cace84..20a35c5 100644 --- a/build.gradle +++ b/build.gradle @@ -26,7 +26,7 @@ buildscript { allprojects { ext { - versionModifier = 'beta6-SNAPSHOT' + versionModifier = 'beta6' versionNumber = '1.0' modulesWithGroovyDoc = [ 'dsl',