Blob Blame History Raw

%global namedreltag  %{nil}
%global namedversion %{version}%{?namedreltag}
%global nameddottag  %(echo %{?namedreltag} | tr - . ) 
%global bootstrap    1

# TODO grails-core.jar http://repo1.maven.org/maven2/org/grails/grails-core/1.3.7/grails-core-1.3.7.jar
# https://github.com/grails/grails-core/

# sonar plugin
# gradle/lib/plugins/gradle-sonar-1.0-milestone-9.jar
# gradle/lib/plugins/sonar-batch-bootstrapper-2.9.jar
# jetty 6.x plugin
# gradle/lib/plugins/core-3.1.1.jar
# gradle/lib/plugins/geronimo-annotation_1.0_spec-1.0.jar
# gradle/lib/plugins/gradle-jetty-1.0-milestone-9.jar
# gradle/lib/plugins/jetty-6.1.25.jar
# gradle/lib/plugins/jetty-annotations-6.1.25.jar
# gradle/lib/plugins/jetty-naming-6.1.25.jar
# gradle/lib/plugins/jetty-plus-6.1.25.jar
# gradle/lib/plugins/jetty-util-6.1.25.jar
# gradle/lib/plugins/jsp-2.1-6.1.14.jar
# gradle/lib/plugins/jsp-api-2.1-6.1.14.jar
# gradle/lib/plugins/servlet-api-2.5-20081211.jar

# FIXME/ED http://issues.gradle.org/browse/GRADLE-2210 ?

Name:          gradle
Version:       1.6
Release:       2%{?nameddottag}%{?dist}
Summary:       Groovy based build system
Group:         Development/Tools
License:       ASL 2.0
Url:           http://www.gradle.org/
Source0:       http://services.gradle.org/distributions/gradle-1.6-src.zip
Source3:       gradle-1.0-wrapper
Source4:       gradle-%{namedversion}-build.xml
Source5:       gradle.desktop

# Tanks to C. de Wolf, J. Hernandez, M. Goldmann, M. Izdebski for their contribution
# mgoldmann
Patch0:        gradle-1.3-Proper-path-to-jnidispatch.patch
Patch1:        gradle-1.0-Missing-method-in-PlexusLoggerAdapter.patch
# jhernand unavailable file
Patch2:        gradle-1.0-css3-pie-not-available.patch
# http://issues.gradle.org/browse/GRADLE-2422
# Miguel Landaeta @miguel.cc
# Damien Raude-Morvan @debian.org
#Patch3:        gradle-1.6-native-jnr-posix.patch
Patch3:        gradle-1.6-jnr-posix.patch
# this patch is only used in bootstrap mode for generate a launcher script
Patch4:        gradle-1.6-script.patch
# mgoldmann
Patch5:        gradle-1.0-Use-Exception-instead-CloneNotSupportedException.patch
# jhernand 
Patch6:        gradle-1.1-use-proper-system-environment-variables.patch
# mgoldmann
# Since Gradle uses groovy-all.jar which bundles all dependencies and this is NOT allowed in Fedora
# we need to use clean groovy.jar and point Gradle to its dependencies
Patch7:        gradle-1.2-Fix-classpath-after-splitting-groovy-all-into-multip.patch
# Related to PATCH10 - we need to use the deps (asm, antlr) directly, not bundled versions
Patch8:        gradle-1.2-Change-groovy-all-references-to-valid-package-names.patch
# mgoldmann
# Checkstyle requires antlr, it was provided by groovy-all, but we removed it
# We cannot have two antlr libraries in classpath when executing checkstyle
Patch9:        gradle-1.0-Add-proper-checkstyle-dependencies.patch
# Another tricky one, but I remember I had serious issues with classpath creation for codenarc
# Using LOCAL_GROOVY instead of GROOVY did the trick. Yep, ugly
Patch10:       gradle-1.2-Add-proper-codenarc-dependencies.patch
# disable. require sonar http://www.sonarsource.org/
Patch11:       gradle-1.3-Disable-sonar-plugin.patch
# jhernand
# change jna-posix with jnr-posix and add jnr-constant and jaffl
Patch12:       gradle-1.3-Change-dependency-from-jna-to-jnr-for-native.patch
# mgoldmann
# Since we operate on symlinks Java is fooled by it and we need to specify the patch to gradle home manually
Patch13:       gradle-1.0-Set-the-libdir-to-usr-share-gradle.patch
# fix gradle checkstyle deps
Patch14:       gradle-1.1-Add-missing-dependencies-when-using-clean-checkstyle.patch
# remove docbook-xml@zip jquery:jquery.min:1.8.0@js and http://themes.googleusercontent.com/static/fonts/ references
Patch15:       gradle-1.3-No-zipped-docbook-jquery-google-fonts-available.patch
# fix the location of the build deps
# and remove jarjar.org.apache.maven (3) references
# related to PATCH3
Patch16:       gradle-1.3-Use-local-available-libraries.patch
# remove jetty plugin references, prevent gradle error: unavailable module, gradle-jetty
#Patch17:       gradle-1.3-Disable-jetty-plugin.patch
# remove not required timestamp from artifacts version
# disable also not needed commitId
Patch18:       gradle-1.2-Fix-version-remove-timestamp.patch
# maven 3 compatibility
Patch19:       gradle-1.1-LoggingHelper.patch
# TODO
# unavailable deps require jmock 2.5.1
# disable also the releaseArtifacts, docs and samples tasks (require gradle maven plugin)
# Pat ch29:       gradle-1.0-disable-tests.patch
# workaround
# disable userguide and dslHtml tasks (unavailable deps: docbook:docbook-xsl:1.75.2@zip)
# docs depend on test tasks
Patch20:       gradle-1.0-docs.patch
# Disable zinc support for gradle scala plugin,
# com.typesafe.zinc:zinc:0.2.1 not available in Fedora
Patch21:       gradle-1.6-no-zinc.patch
# print the stack trace even when failure is not instance of GradleException
Patch31:       gradle-1.6-printStackTrace.patch

Patch32:       gradle-1.6-ivy.patch
# FIXME Remove this patch when polyglot is available
Patch33:       gradle-1.6-Disabled-polyglot-maven-support.patch

# groovy 1.8.x embedded library
BuildRequires: antlr-tool
BuildRequires: mvn(commons-cli:commons-cli)
BuildRequires: mvn(asm:asm-all)

# Build requirements (alphabetical):
BuildRequires: mvn(ch.qos.logback:logback-classic) >= 1.0.1
BuildRequires: mvn(ch.qos.logback:logback-core) >= 1.0.1
BuildRequires: mvn(com.esotericsoftware.kryo:kryo)
BuildRequires: mvn(com.google.code.findbugs:jsr305)
BuildRequires: mvn(com.google.code.gson:gson)
BuildRequires: mvn(com.google.guava:guava)
BuildRequires: mvn(com.googlecode.jatl:jatl)
BuildRequires: mvn(commons-codec:commons-codec)
BuildRequires: mvn(commons-collections:commons-collections)
BuildRequires: mvn(commons-io:commons-io)
BuildRequires: mvn(commons-lang:commons-lang)
BuildRequires: mvn(javax.inject:javax.inject)
BuildRequires: mvn(junit:junit)
BuildRequires: mvn(net.java.dev.jna:jna)
BuildRequires: mvn(net.jcip:jcip-annotations)
BuildRequires: mvn(net.sourceforge.nekohtml:nekohtml)
BuildRequires: mvn(org.apache.ant:ant)
BuildRequires: mvn(org.apache.ant:ant-antlr)
BuildRequires: mvn(org.apache.ant:ant-launcher)
BuildRequires: mvn(org.apache.httpcomponents:httpclient)
BuildRequires: mvn(org.apache.httpcomponents:httpcore)
BuildRequires: mvn(org.apache.maven:maven-aether-provider)
BuildRequires: mvn(org.apache.maven:maven-ant-tasks)
BuildRequires: mvn(org.apache.maven:maven-artifact)
BuildRequires: mvn(org.apache.maven:maven-compat)
BuildRequires: mvn(org.apache.maven:maven-core)
BuildRequires: mvn(org.apache.maven:maven-model)
BuildRequires: mvn(org.apache.maven:maven-model-builder)
BuildRequires: mvn(org.apache.maven:maven-plugin-api)
BuildRequires: mvn(org.apache.maven:maven-repository-metadata)
BuildRequires: mvn(org.apache.maven:maven-settings)
BuildRequires: mvn(org.apache.maven.wagon:wagon-provider-api)
BuildRequires: mvn(org.apache.xbean:xbean-reflect)
# bnd ant task
BuildRequires: mvn(biz.aQute:bnd)
BuildRequires: mvn(biz.aQute:bndlib)
BuildRequires: mvn(org.bouncycastle:bcprov-jdk16)
BuildRequires: mvn(org.bouncycastle:bcpg-jdk16)
BuildRequires: mvn(org.codehaus.groovy:groovy) >= 1.8.6
BuildRequires: mvn(org.codehaus.plexus:plexus-classworlds)
BuildRequires: mvn(org.codehaus.plexus:plexus-component-api)
BuildRequires: mvn(org.codehaus.plexus:plexus-component-annotations)
BuildRequires: mvn(org.codehaus.plexus:plexus-container-default)
BuildRequires: mvn(org.codehaus.plexus:plexus-interpolation)
BuildRequires: mvn(org.codehaus.plexus:plexus-utils)
BuildRequires: mvn(org.fusesource.jansi:jansi)
BuildRequires: mvn(org.hamcrest:hamcrest-core)
BuildRequires: mvn(org.hamcrest:hamcrest-library)
BuildRequires: mvn(org.ow2.asm:asm-all)
BuildRequires: mvn(org.samba.jcifs:jcifs)
BuildRequires: mvn(org.simpleframework:simple)
BuildRequires: mvn(org.slf4j:jcl-over-slf4j)
BuildRequires: mvn(org.slf4j:log4j-over-slf4j)
BuildRequires: mvn(org.slf4j:slf4j-api)

BuildRequires: mvn(org.eclipse.aether:aether-api)
BuildRequires: mvn(org.eclipse.aether:aether-impl)
BuildRequires: mvn(org.eclipse.aether:aether-spi)
BuildRequires: mvn(org.eclipse.aether:aether-util)
BuildRequires: mvn(org.sonatype.plexus:plexus-cipher)

BuildRequires: mvn(org.sonatype.plexus:plexus-sec-dispatcher)
BuildRequires: mvn(org.testng:testng)
BuildRequires: mvn(xerces:xercesImpl)
BuildRequires: native-platform

BuildRequires: apache-commons-beanutils
BuildRequires: beust-jcommander
BuildRequires: bsh
# BuildRequires: bsh2
BuildRequires: checkstyle
BuildRequires: findbugs
# com.google.code.findbugs:findbugs:2.0.1
BuildRequires: findbugs-bcel
# com.google.code.findbugs:bcel:2.0.1
# jnr-ffi 0.7
BuildRequires: jaffl
BuildRequires: snakeyaml

# https://github.com/szczepiq/jarjar
# BuildRequires: mvn(org.gradle.jarjar:jarjar) >=1.2.1
BuildRequires: mvn(jarjar:jarjar)


BuildRequires: jaxen

BuildRequires: jnr-constants
BuildRequires: jnr-posix >= 1.1.8
BuildRequires: jnr-ffi

# TODO add maven pom/depmap to use gradle maven plugin
BuildRequires: apache-ivy
BuildRequires: dom4j
BuildRequires: jsch
BuildRequires: rhino


# FIXME https://bugzilla.redhat.com/show_bug.cgi?id=855331
#BuildRequires: polyglot-maven-common
#BuildRequires: polyglot-maven-groovy


BuildRequires: desktop-file-utils
BuildRequires: git
BuildRequires: groovy-javadoc
BuildRequires: java-devel
BuildRequires: jpackage-utils

#BuildRequires: xml-commons-apis

%if !%bootstrap
BuildRequires: classycle
# TODO BuildRequires: mvn(classycle:classycle)
BuildRequires: codenarc
BuildRequires: gradle
#BuildRequires: mvn(cglib:cglib-nodep) >= 2.2.2
BuildRequires: mvn(cglib:cglib)
BuildRequires: mvn(org.jsoup:jsoup) >= 1.6.3
BuildRequires: mvn(org.objenesis:objenesis)
BuildRequires: mvn(org.pegdown:pegdown)
BuildRequires: mvn(org.spockframework:spock-core) >= 0.7
BuildRequires: mvn(xmlunit:xmlunit)


# docs deps
# xhtmlrenderer
BuildRequires: flyingsaucer
BuildRequires: itext-core
BuildRequires: jhighlight
BuildRequires: xalan-j2
# https://bugzilla.redhat.com/show_bug.cgi?id=844179
BuildRequires: xslthl
# test deps
BuildRequires: mvn(org.jmock:jmock)
BuildRequires: mvn(org.jmock:jmock-junit4)
BuildRequires: mvn(org.jmock:jmock-legacy)

# module internal-integ-testing
BuildRequires: apache-sshd
BuildRequires: mvn(org.littleshoot:littleproxy)
BuildRequires: jsr-305
# netty 3.2.4.Final
BuildRequires: netty
%endif
# work in progress BuildRequires: sonar https://bugzilla.redhat.com/show_bug.cgi?id=848096

BuildRequires: ant-antlr

Requires:      mvn(org.eclipse.aether:aether-api)
Requires:      mvn(org.eclipse.aether:aether-util)
Requires:      ant
Requires:      ant-antlr
Requires:      atinject
Requires:      antlr
Requires:      apache-commons-beanutils
Requires:      apache-commons-cli
Requires:      apache-commons-codec
Requires:      apache-commons-collections
Requires:      apache-commons-io
Requires:      apache-commons-lang
Requires:      apache-ivy
Requires:      aqute-bnd
Requires:      aqute-bndlib
Requires:      beust-jcommander
Requires:      bouncycastle
Requires:      bouncycastle-pg
# Requires:      bsh2
Requires:      bsh
Requires:      checkstyle
Requires:      dom4j
Requires:      groovy
Requires:      guava
Requires:      hamcrest
Requires:      httpcomponents-client
Requires:      httpcomponents-core
Requires:      jaffl
Requires:      jansi
Requires:      jarjar
Requires:      jaxen
Requires:      jcifs
Requires:      jcip-annotations
Requires:      jna
Requires:      jnr-constants
Requires:      jnr-posix
Requires:      jnr-ffi
Requires:      jsch
Requires:      jatl
Requires:      junit
Requires:      kryo
Requires:      logback
Requires:      maven
Requires:      maven-ant-tasks
Requires:      maven-error-diagnostics
Requires:      maven-wagon
Requires:      native-platform
Requires:      nekohtml
Requires:      objectweb-asm
Requires:      objectweb-asm4
Requires:      plexus-classworlds
Requires:      plexus-component-api
Requires:      plexus-containers-component-annotations
Requires:      plexus-containers-container-default
Requires:      plexus-interpolation
Requires:      plexus-utils
Requires:      plexus-cipher
Requires:      plexus-sec-dispatcher
Requires:      polyglot-maven-common
Requires:      polyglot-maven-groovy
Requires:      slf4j
Requires:      snakeyaml
Requires:      testng
Requires:      xerces-j2
Requires:      xml-commons-apis

Requires:      java-devel >= 1:1.6.0
Requires:      jpackage-utils
BuildArch:     noarch

%description
Gradle is a build system written in Groovy. It uses Groovy
also as the language for its build scripts. It has a powerful
multi-project build support. It has a layer on top of Ivy
that provides a build-by-convention integration for Ivy. It
gives you always the choice between the flexibility of Ant
and the convenience of a build-by-convention behavior.

%package javadoc
Summary:       Javadoc for %{name}

%description javadoc
This package contains javadoc for %{name}.

%prep
%setup -q -n %{name}-%{namedversion}

# cleanup
find . -name '*.jar' -delete
find . -name '*.class' -delete

%patch0 -p0
%patch1 -p1
%patch2 -p1
%patch3 -p1


%if %bootstrap
# gradle bin is generate during the non bootstrap build (task assemble)
%patch4 -p0
%endif
%patch5 -p1
#a
%patch8 -p1
%patch9 -p1
%patch10 -p1
%patch12 -p1
%patch13 -p1
%patch19 -p0
#%%patch6 -p1
#%%patch7 -p1
#%%patch11 -p1
#%%patch14 -p0
#%%patch15 -p0
#%%patch16 -p1
#%%patch17 -p1
#%%patch18 -p1
#%%patch20 -p0

%patch21 -p1

%patch31 -p0

%patch32 -p1
%patch33 -p1

cp -p %{SOURCE4} build.xml
cp -p %{SOURCE5} .

# fix non ASCII chars
for s in subprojects/base-services/src/main/java/org/gradle/api/Named.java \
 subprojects/base-services/src/main/java/org/gradle/util/CollectionUtils.java \
 subprojects/build-comparison/src/main/groovy/org/gradle/api/plugins/buildcomparison/gradle/CompareGradleBuilds.java \
 subprojects/build-comparison/src/main/groovy/org/gradle/api/plugins/buildcomparison/gradle/GradleBuildInvocationSpec.java \
 subprojects/core/src/main/groovy/org/gradle/api/internal/AsmBackedClassGenerator.java \
 subprojects/core/src/main/groovy/org/gradle/api/internal/ExtensibleDynamicObject.java \
 subprojects/core/src/main/groovy/org/gradle/api/internal/plugins/DslObject.java \
 subprojects/core/src/main/groovy/org/gradle/api/invocation/Gradle.java \
 subprojects/core/src/main/groovy/org/gradle/api/plugins/ExtensionAware.java \
 subprojects/core/src/main/groovy/org/gradle/api/plugins/ExtensionContainer.java \
 subprojects/core/src/main/groovy/org/gradle/api/plugins/ExtraPropertiesExtension.java \
 subprojects/core/src/main/groovy/org/gradle/initialization/BuildAction.java \
 subprojects/core/src/main/groovy/org/gradle/process/internal/JvmOptions.java \
 subprojects/core-impl/src/main/groovy/org/gradle/api/internal/externalresource/cached/CachedExternalResource.java \
 subprojects/core-impl/src/main/groovy/org/gradle/api/internal/externalresource/cached/CachedItem.java \
 subprojects/core-impl/src/main/groovy/org/gradle/api/internal/externalresource/transfer/DefaultCacheAwareExternalResourceAccessor.java \
 subprojects/core-impl/src/main/groovy/org/gradle/api/internal/externalresource/transfer/ExternalResourceAccessor.java \
 subprojects/core-impl/src/main/groovy/org/gradle/api/internal/externalresource/metadata/ExternalResourceMetaData.java \
 subprojects/core-impl/src/main/groovy/org/gradle/api/internal/externalresource/local/LocallyAvailableResourceCandidates.java \
 subprojects/launcher/src/main/java/org/gradle/launcher/daemon/client/DaemonClientInputForwarder.java \
 subprojects/launcher/src/main/java/org/gradle/launcher/daemon/protocol/Failure.java \
 subprojects/launcher/src/main/java/org/gradle/launcher/daemon/registry/EmbeddedDaemonRegistry.java \
 subprojects/launcher/src/main/java/org/gradle/launcher/daemon/server/DaemonStateCoordinator.java \
 subprojects/launcher/src/main/java/org/gradle/launcher/daemon/server/exec/BuildCommandOnly.java \
 subprojects/launcher/src/main/java/org/gradle/launcher/daemon/server/exec/DaemonCommandAction.java \
 subprojects/launcher/src/main/java/org/gradle/launcher/daemon/server/exec/DaemonCommandExecution.java \
 subprojects/launcher/src/main/java/org/gradle/launcher/daemon/server/exec/ExecuteBuild.java \
 subprojects/osgi/src/main/groovy/org/gradle/api/internal/plugins/osgi/DefaultOsgiManifest.java \
 subprojects/publish/src/main/groovy/org/gradle/api/publish/PublishingExtension.java \
 subprojects/reporting/src/main/groovy/org/gradle/api/reporting/Reporting.java \
 subprojects/tooling-api/src/main/java/org/gradle/tooling/model/internal/outcomes/GradleBuildOutcome.java \
 subprojects/tooling-api/src/main/java/org/gradle/tooling/model/internal/outcomes/GradleFileBuildOutcome.java;do
  native2ascii -encoding UTF8 ${s} ${s}
done





sed -i "s|org.gradle.mvn3.||" \
  subprojects/build-setup/src/main/groovy/org/gradle/buildsetup/plugins/internal/maven/Maven2Gradle.groovy \
  subprojects/build-setup/src/main/groovy/org/gradle/buildsetup/plugins/internal/maven/MavenProjectsCreator.java \
  subprojects/build-setup/src/main/groovy/org/gradle/buildsetup/plugins/internal/maven/MavenProjectXmlWriter.java \
  subprojects/core-impl/src/main/groovy/org/gradle/api/internal/artifacts/mvnsettings/DefaultLocalMavenRepositoryLocator.java \
  subprojects/core-impl/src/main/groovy/org/gradle/api/internal/artifacts/mvnsettings/DefaultMavenSettingsProvider.java \
  subprojects/core-impl/src/main/groovy/org/gradle/api/internal/artifacts/mvnsettings/MavenSettingsProvider.java \
  subprojects/maven/src/main/groovy/org/gradle/api/publish/maven/internal/publisher/ValidatingMavenPublisher.java
%if 0
sed -i "s|org.apache.maven.artifact.ant.DeployTask|org.eclipse.aether.ant.tasks.Deploy|" \
  subprojects/maven/src/main/groovy/org/gradle/api/publication/maven/internal/ant/CustomDeployTask.java \
  subprojects/maven/src/main/groovy/org/gradle/api/publication/maven/internal/ant/BaseMavenDeployer.java \
  
sed -i "s|DeployTask|Deploy|" \
  subprojects/maven/src/main/groovy/org/gradle/api/publication/maven/internal/ant/CustomDeployTask.java \
  subprojects/maven/src/main/groovy/org/gradle/api/publication/maven/internal/ant/BaseMavenDeployer.java

sed -i "s|import org.apache.maven.artifact.ant.InstallDeployTaskSupport|//import org.apache.maven.artifact.ant.InstallDeployTaskSupport|" \
  subprojects/maven/src/main/groovy/org/gradle/api/publication/maven/internal/ant/BaseMavenDeployer.java \
  subprojects/maven/src/main/groovy/org/gradle/api/publication/maven/internal/ant/AbstractMavenResolver.java \
  subprojects/maven/src/main/groovy/org/gradle/api/publication/maven/internal/ant/MavenSettingsSupplier.java \
  subprojects/maven/src/main/groovy/org/gradle/api/publication/maven/internal/ant/BaseMavenInstaller.java
sed -i "s|InstallDeployTaskSupport|Deploy|" \
  subprojects/maven/src/main/groovy/org/gradle/api/publication/maven/internal/ant/BaseMavenDeployer.java \
  subprojects/maven/src/main/groovy/org/gradle/api/publication/maven/internal/ant/AbstractMavenResolver.java \
  subprojects/maven/src/main/groovy/org/gradle/api/publication/maven/internal/ant/MavenSettingsSupplier.java \
  subprojects/maven/src/main/groovy/org/gradle/api/publication/maven/internal/ant/BaseMavenInstaller.java
  
sed -i "s|org.apache.maven.artifact.ant.RemoteRepository|org.eclipse.aether.ant.types.RemoteRepository|" \
  subprojects/maven/src/main/groovy/org/gradle/api/publication/maven/internal/ant/BaseMavenDeployer.java \
  subprojects/maven/src/main/groovy/org/gradle/api/publication/maven/internal/ant/RepositoryFactory.java
  
sed -i "s|org.apache.maven.artifact.ant.InstallDeployTaskSupport|org.eclipse.aether.ant.tasks.Deploy|" \
  subprojects/maven/src/main/groovy/org/gradle/api/publish/maven/internal/publisher/AntTaskBackedMavenPublisher.java

sed -i "s|InstallDeployTaskSupport|Deploy|" \
  subprojects/maven/src/main/groovy/org/gradle/api/publication/maven/internal/ant/BaseMavenDeployer.java \
  subprojects/maven/src/main/groovy/org/gradle/api/publish/maven/internal/publisher/AntTaskBackedMavenPublisher.java
sed -i "s|org.apache.maven.artifact.ant.Proxy|org.eclipse.aether.ant.types.Proxy|" \
  subprojects/maven/src/main/groovy/org/gradle/api/publication/maven/internal/ant/RepositoryFactory.java \
  subprojects/maven/src/main/groovy/org/gradle/api/publication/maven/internal/ant/RepositoryBuilder.java
  
sed -i "s|org.apache.maven.artifact.ant.RemoteRepository|org.eclipse.aether.ant.types.RemoteRepository|" \
  subprojects/maven/src/main/groovy/org/gradle/api/publication/maven/internal/ant/RepositoryBuilder.java \
  subprojects/maven/src/main/groovy/org/gradle/api/publication/maven/internal/ant/NoInstallDeployTaskFactory.java \
  subprojects/maven/src/main/groovy/org/gradle/api/publish/maven/internal/publisher/MavenRemoteRepositoryFactory.java \
  subprojects/maven/src/main/groovy/org/gradle/api/publish/maven/internal/publisher/AntTaskBackedMavenPublisher.java

sed -i "s|org.apache.maven.artifact.ant.Authentication|org.eclipse.aether.ant.types.Authentication|" \
  subprojects/maven/src/main/groovy/org/gradle/api/publication/maven/internal/ant/RepositoryBuilder.java \
  subprojects/maven/src/main/groovy/org/gradle/api/publication/maven/internal/ant/RepositoryFactory.java \
  subprojects/maven/src/main/groovy/org/gradle/api/publish/maven/internal/publisher/MavenRemoteRepositoryFactory.java
  
  
sed -i "s|org.apache.maven.artifact.ant.Pom|org.eclipse.aether.ant.types.Pom|" \
  subprojects/maven/src/main/groovy/org/gradle/api/publish/maven/internal/publisher/AntTaskBackedMavenPublisher.java \
  subprojects/maven/src/main/groovy/org/gradle/api/publication/maven/internal/ant/AbstractMavenResolver.java

sed -i 's|org.apache.maven.artifact.ant.RepositoryPolicy|org.eclipse.aether.ant.types.RemoteRepository|' \
  subprojects/maven/src/main/groovy/org/gradle/api/publication/maven/internal/ant/RepositoryBuilder.java \
  subprojects/maven/src/main/groovy/org/gradle/api/publication/maven/internal/ant/RepositoryFactory.java
sed -i 's|RepositoryPolicy|RemoteRepository|' \
  subprojects/maven/src/main/groovy/org/gradle/api/publication/maven/internal/ant/RepositoryBuilder.java \
  subprojects/maven/src/main/groovy/org/gradle/api/publication/maven/internal/ant/RepositoryFactory.java
  
sed -i "s|org.apache.maven.artifact.ant.InstallTask|org.eclipse.aether.ant.tasks.Install|" \
  subprojects/maven/src/main/groovy/org/gradle/api/publication/maven/internal/ant/BaseMavenInstaller.java \
  subprojects/maven/src/main/groovy/org/gradle/api/publication/maven/internal/ant/CustomInstallTask.java

sed -i "s|@Override|//@Override|" \
  subprojects/maven/src/main/groovy/org/gradle/api/publication/maven/internal/ant/NoInstallDeployTaskFactory.java \
  subprojects/maven/src/main/groovy/org/gradle/api/publication/maven/internal/ant/CustomDeployTask.java \
  subprojects/maven/src/main/groovy/org/gradle/api/publication/maven/internal/ant/CustomInstallTask.java
%endif


sed -i 's|org.sonatype.aether.RepositorySystemSession|org.eclipse.aether.RepositorySystemSession|' \
  subprojects/build-setup/src/main/groovy/org/gradle/buildsetup/plugins/internal/maven/MavenProjectsCreator.java
sed -i 's|org.sonatype.aether.util.DefaultRepositorySystemSession|org.eclipse.aether.DefaultRepositorySystemSession|' \
  subprojects/build-setup/src/main/groovy/org/gradle/buildsetup/plugins/internal/maven/MavenProjectsCreator.java

#build.build-setup:
#    [mkdir] Created dir: /home/gil/rpmbuild/BUILD/gradle-1.6/subprojects/build-setup/build/classes
#  [groovyc] Compiling 9 source files to /home/gil/rpmbuild/BUILD/gradle-1.6/subprojects/build-setup/build/classes
#  [groovyc] org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
#  [groovyc] Compile error during compilation with javac.
#  [groovyc] warning: [options] bootstrap class path not set in conjunction with -source 1.6
#  [groovyc] /home/gil/rpmbuild/BUILD/gradle-1.6/subprojects/build-setup/src/main/groovy/org/gradle/buildsetup/plugins/internal/maven/MavenProjectsCreator.java:93: error: cannot access RepositorySystemSession
#  [groovyc]         MavenSession session = new MavenSession(container, repoSession, executionRequest, result);
#  [groovyc]                                ^
#  [groovyc]   class file for org.sonatype.aether.RepositorySystemSession not found
#  [groovyc] 1 error
#  [groovyc] 1 warning
#  [groovyc] 
#  [groovyc] 
#  [groovyc] 1 error

  
%build

%if %bootstrap

# java.lang.NoClassDefFoundError: org/objectweb/asm/Opcodes
#         at java.lang.ClassLoader.defineClass1(Native Method)
#         at java.lang.ClassLoader.defineClass(ClassLoader.java:792)
#         at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
#         at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
#         at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
#         at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
#         at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
#         at java.security.AccessController.doPrivileged(Native Method)
#         at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
#         at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
#         at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
#         at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
#         at java.lang.Class.getDeclaredConstructors0(Native Method)
#         at java.lang.Class.privateGetDeclaredConstructors(Class.java:2483)
#         at java.lang.Class.getConstructor0(Class.java:2793)
#         at java.lang.Class.newInstance(Class.java:345)
#         at org.codehaus.groovy.vmplugin.VMPluginFactory.<clinit>(VMPluginFactory.java:51)
#         at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.<init>(MetaClassRegistryImpl.java:89)
#         at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.<init>(MetaClassRegistryImpl.java:61)
#         at groovy.lang.GroovySystem.<clinit>(GroovySystem.java:29)
#         at org.codehaus.groovy.runtime.InvokerHelper.<clinit>(InvokerHelper.java:49)
#         at org.codehaus.groovy.runtime.DefaultGroovyMethods.join(DefaultGroovyMethods.java:4163)
#         at org.codehaus.groovy.ant.Groovyc.compile(Groovyc.java:908)
#         at org.codehaus.groovy.ant.Groovyc.execute(Groovyc.java:648)
#         at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
#         at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
#         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
#         at java.lang.reflect.Method.invoke(Method.java:606)
#         at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
#         at org.apache.tools.ant.Task.perform(Task.java:348)
#         at org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:68)
#         at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
#         at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
#         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
#         at java.lang.reflect.Method.invoke(Method.java:606)
#         at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
#         at org.apache.tools.ant.Task.perform(Task.java:348)
#         at org.apache.tools.ant.taskdefs.MacroInstance.execute(MacroInstance.java:398)
#         at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
#         at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
#         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
#         at java.lang.reflect.Method.invoke(Method.java:606)
#         at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
#         at org.apache.tools.ant.Task.perform(Task.java:348)
#         at org.apache.tools.ant.Target.execute(Target.java:392)
#         at org.apache.tools.ant.Target.performTasks(Target.java:413)
#         at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
#         at org.apache.tools.ant.Project.executeTarget(Project.java:1368)
#         at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
#         at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
#         at org.apache.tools.ant.Main.runBuild(Main.java:811)
#         at org.apache.tools.ant.Main.startAnt(Main.java:217)
#         at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
#         at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
# Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Opcodes
#         at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
#         at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
#         at java.security.AccessController.doPrivileged(Native Method)
#         at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
#         at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
#         at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
#         at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
#         ... 54 more
# problem to load in classpath asm3 classes
export CLASSPATH=$(build-classpath objectweb-asm)
  ant -Dbuildoption=unchecked dist javadoc
%else

# java/docs and test suite for unavailable deps require jmock, jets3t, docbook-xml@zip, xslthl,...
# groovydoc (more complete than javadoc) task could derail the compilation (requires groovy-all.jar) docs:userguide 
gradle --full-stacktrace --debug assemble javadoc \
  -g $PWD/gradlehome -b $PWD/build.gradle
%endif

%install


mkdir -p %{buildroot}%{_datadir}/%{name}/{bin,lib,lib/plugins,media}
mkdir -p %{buildroot}%{_javadir}/%{name}

%if %bootstrap

   cp -pr subprojects/distributions/src/toplevel/media/* %{buildroot}%{_datadir}/%{name}/media/
   cp -p subprojects/distributions/src/toplevel/LICENSE %{buildroot}%{_datadir}/%{name}/
   cp -p subprojects/distributions/src/toplevel/NOTICE %{buildroot}%{_datadir}/%{name}/
   cp -p subprojects/distributions/src/toplevel/changelog.txt %{buildroot}%{_datadir}/%{name}/
   cp -p subprojects/distributions/src/toplevel/LICENSE .
   cp -p subprojects/distributions/src/toplevel/NOTICE .
   install -pm 755 %{name}w %{buildroot}%{_datadir}/%{name}/bin/%{name}
# WARNING in newer release there are new artifacts, please update these lists

#    gradle-launcher-%%{namedversion}.jar is special and cannot be moved,
#    because the launcher inspects its own _dereferenced_ file path to determine where to find other jars.
#    The others can be in javadir
   install -pm 644 dist/lib/%{name}-launcher-%{namedversion}.jar %{buildroot}%{_datadir}/%{name}/lib/%{name}-launcher-%{namedversion}.jar

   for m in base-services cli core messaging native open-api tooling-api ui wrapper; do
     install -pm 644 dist/lib/%{name}-${m}-%{namedversion}.jar %{buildroot}%{_javadir}/%{name}/%{name}-${m}.jar
     ln -sf %{_javadir}/%{name}/%{name}-${m}.jar %{buildroot}%{_datadir}/%{name}/lib/%{name}-${m}-%{namedversion}.jar
   done

   for m in announce antlr build-comparison code-quality core-impl cpp ear ide javascript maven osgi plugins scala signing; do
     install -pm 644 dist/lib/plugins/%{name}-${m}-%{namedversion}.jar %{buildroot}%{_javadir}/%{name}/%{name}-${m}.jar
     ln -sf %{_javadir}/%{name}/%{name}-${m}.jar %{buildroot}%{_datadir}/%{name}/lib/plugins/%{name}-${m}-%{namedversion}.jar
   done
%else

mkdir -p gradlehome
(
   cd gradlehome
   rm -rf *
   unzip ../build/distributions/%{name}-%{namedversion}-all.zip
   rm -rf src
   find %{name}-%{namedversion} -name "*.bat" -delete
   (
     cd %{name}-%{namedversion}
     sed -i "s|# Attempt to set APP_HOME|export JAVA_HOME=/usr/lib/jvm/java|" bin/%{name}
     sed -i 's|APP_HOME="`pwd -P`"|export APP_HOME=$GRADLE_HOME|'  bin/%{name}
     install -pm 755 bin/%{name} %{buildroot}%{_datadir}/%{name}/bin/

     cp -pr media/* %{buildroot}%{_datadir}/%{name}/media/
     cp -p LICENSE %{buildroot}%{_datadir}/%{name}/
     cp -p NOTICE %{buildroot}%{_datadir}/%{name}/
     cp -p changelog.txt %{buildroot}%{_datadir}/%{name}/
# WARNING in newer release there are new artifacts, please update these lists

#    gradle-launcher-%%{namedversion}.jar is special and cannot be moved,
#    because the launcher inspects its own _dereferenced_ file path to determine where to find other jars.
#    The others can be in javadir
     install -pm 644 lib/%{name}-launcher-%{namedversion}.jar %{buildroot}%{_datadir}/%{name}/lib/%{name}-launcher-%{namedversion}.jar

     for m in base-services cli core messaging native open-api tooling-api ui wrapper; do
       install -pm 644 dist/lib/%{name}-${m}-%{namedversion}.jar %{buildroot}%{_javadir}/%{name}/%{name}-${m}.jar
       ln -sf %{_javadir}/%{name}/%{name}-${m}.jar %{buildroot}%{_datadir}/%{name}/lib/%{name}-${m}-%{namedversion}.jar
     done

     for m in announce antlr build-comparison code-quality core-impl cpp ear ide javascript maven osgi plugins scala signing; do
       install -pm 644 dist/lib/plugins/%{name}-${m}-%{namedversion}.jar %{buildroot}%{_javadir}/%{name}/%{name}-${m}.jar
       ln -sf %{_javadir}/%{name}/%{name}-${m}.jar %{buildroot}%{_datadir}/%{name}/lib/plugins/%{name}-${m}-%{namedversion}.jar
     done
     cp -p LICENSE ../../
     cp -p NOTICE ../../
   )
)

%endif

# TODO once the tests task is fixed... change with the proper dir (docs/)
mkdir -p %{buildroot}%{_javadocdir}/%{name}
cp -pr subprojects/docs/build/docs/*doc*/* %{buildroot}%{_javadocdir}/%{name}

ln -sf %{_javadir}/ant.jar %{buildroot}%{_datadir}/%{name}/lib/ant-1.8.4.jar
ln -sf $(build-classpath ant-launcher) %{buildroot}%{_datadir}/%{name}/lib/ant-launcher-1.8.4.jar
# groovy deps
ln -sf $(build-classpath antlr) %{buildroot}%{_datadir}/%{name}/lib/antlr-2.7.7.jar
ln -sf $(build-classpath objectweb-asm/asm-all) %{buildroot}%{_datadir}/%{name}/lib/asm-all-3.3.1.jar
ln -sf $(build-classpath commons-cli) %{buildroot}%{_datadir}/%{name}/lib/commons-cli-1.2.jar

ln -sf $(build-classpath atinject)  %{buildroot}%{_datadir}/%{name}/lib/atinject.jar
ln -sf $(build-classpath objectweb-asm4/asm-all-4.0) %{buildroot}%{_datadir}/%{name}/lib/asm-all-4.0.jar
ln -sf $(build-classpath atinject) %{buildroot}%{_datadir}/%{name}/lib/plugins/atinject.jar

ln -sf $(build-classpath commons-collections) %{buildroot}%{_datadir}/%{name}/lib/commons-collections-3.2.1.jar
ln -sf $(build-classpath commons-io) %{buildroot}%{_datadir}/%{name}/lib/commons-io-1.4.jar
ln -sf $(build-classpath commons-lang) %{buildroot}%{_datadir}/%{name}/lib/commons-lang-2.6.jar
ln -sf $(build-classpath constantine) %{buildroot}%{_datadir}/%{name}/lib/constantine-0.7.jar
ln -sf $(build-classpath dom4j) %{buildroot}%{_datadir}/%{name}/lib/dom4j-1.6.1.jar
ln -sf $(build-classpath groovy) %{buildroot}%{_datadir}/%{name}/lib/groovy-all-1.8.6.jar
ln -sf $(build-classpath groovy) %{buildroot}%{_datadir}/%{name}/lib/groovy-1.8.6.jar
ln -sf $(build-classpath guava) %{buildroot}%{_datadir}/%{name}/lib/guava-11.0.1.jar
ln -sf $(build-classpath ivy) %{buildroot}%{_datadir}/%{name}/lib/ivy-2.2.0.jar
ln -sf $(build-classpath jansi) %{buildroot}%{_datadir}/%{name}/lib/jansi-1.2.1.jar
ln -sf $(build-classpath jaxen) %{buildroot}%{_datadir}/%{name}/lib/jaxen-1.1.jar
ln -sf $(build-classpath jcip-annotations) %{buildroot}%{_datadir}/%{name}/lib/jcip-annotations-1.0.jar
ln -sf $(build-classpath jna) %{buildroot}%{_datadir}/%{name}/lib/jna-3.2.7.jar
ln -sf $(build-classpath jnr-constants) %{buildroot}%{_datadir}/%{name}/lib/jnr-constants.jar
ln -sf $(build-classpath jnr-posix) %{buildroot}%{_datadir}/%{name}/lib/jnr-posix-1.0.3.jar
# gradle -gui Starting external process java.lang.NoClassDefFoundError: com/kenai/jaffl/struct/Struct
ln -sf $(build-classpath jaffl) %{buildroot}%{_datadir}/%{name}/lib/jaffl.jar
ln -sf $(build-classpath jsch) %{buildroot}%{_datadir}/%{name}/lib/jsch-0.1.46.jar
ln -sf $(build-classpath logback/logback-classic) %{buildroot}%{_datadir}/%{name}/lib/logback-classic-1.0.6.jar
ln -sf $(build-classpath logback/logback-core) %{buildroot}%{_datadir}/%{name}/lib/logback-core-1.0.6.jar
ln -sf $(build-classpath slf4j/api) %{buildroot}%{_datadir}/%{name}/lib/slf4j-api-1.6.6.jar
ln -sf $(build-classpath slf4j/jcl-over-slf4j) %{buildroot}%{_datadir}/%{name}/lib/jcl-over-slf4j-1.6.6.jar
ln -sf $(build-classpath slf4j/jul-to-slf4j) %{buildroot}%{_datadir}/%{name}/lib/jul-to-slf4j-1.6.6.jar
ln -sf $(build-classpath slf4j/log4j-over-slf4j) %{buildroot}%{_datadir}/%{name}/lib/log4j-over-slf4j-1.6.6.jar

ln -sf $(build-classpath jarjar) %{buildroot}%{_datadir}/%{name}/lib/jarjar-1.3.jar

ln -sf $(build-classpath ant/ant-antlr) %{buildroot}%{_datadir}/%{name}/lib/plugins/ant-antlr-1.8.4.jar
ln -sf $(build-classpath antlr) %{buildroot}%{_datadir}/%{name}/lib/plugins/antlr-2.7.7.jar
ln -sf $(build-classpath bcpg) %{buildroot}%{_datadir}/%{name}/lib/plugins/bcpg-jdk15-1.46.jar
ln -sf $(build-classpath bcprov) %{buildroot}%{_datadir}/%{name}/lib/plugins/bcprov-jdk15-1.46.jar
ln -sf $(build-classpath bsh) %{buildroot}%{_datadir}/%{name}/lib/plugins/bsh-2.0b4.jar
#n -sf $(build-classpath bsh2/bsh) {buildroot}{_datadir}/{name}/lib/plugins/bsh-2.0b4.jar
ln -sf $(build-classpath commons-beanutils) %{buildroot}%{_datadir}/%{name}/lib/plugins/commons-beanutils.jar
ln -sf $(build-classpath commons-cli) %{buildroot}%{_datadir}/%{name}/lib/plugins/commons-cli-1.2.jar
ln -sf $(build-classpath commons-codec) %{buildroot}%{_datadir}/%{name}/lib/plugins/commons-codec-1.6.jar
ln -sf $(build-classpath hamcrest/core) %{buildroot}%{_datadir}/%{name}/lib/plugins/hamcrest-core-1.1.jar
ln -sf $(build-classpath httpcomponents/httpclient) %{buildroot}%{_datadir}/%{name}/lib/plugins/httpclient-4.2.1.jar
ln -sf $(build-classpath httpcomponents/httpcore) %{buildroot}%{_datadir}/%{name}/lib/plugins/httpcore-4.2.1.jar
ln -sf $(build-classpath jcifs) %{buildroot}%{_datadir}/%{name}/lib/plugins/jcifs-1.3.17.jar
ln -sf $(build-classpath beust-jcommander) %{buildroot}%{_datadir}/%{name}/lib/plugins/jcommander-1.12.jar
ln -sf $(build-classpath aqute-bnd) %{buildroot}%{_datadir}/%{name}/lib/plugins/bndlib-1.50.0.jar
ln -sf $(build-classpath junit) %{buildroot}%{_datadir}/%{name}/lib/plugins/junit-4.10.jar
ln -sf $(build-classpath checkstyle) %{buildroot}%{_datadir}/%{name}/lib/plugins/checkstyle.jar

ln -sf $(build-classpath maven-ant-tasks) %{buildroot}%{_datadir}/%{name}/lib/plugins/maven-ant-tasks-2.1.3.jar
#ln -sf $(build-classpath maven2/maven-error-diagnostics) %{buildroot}%{_datadir}/%{name}/lib/plugins/maven-error-diagnostics.jar
ln -sf $(build-classpath maven/maven-artifact) %{buildroot}%{_datadir}/%{name}/lib/plugins/maven-artifact.jar
ln -sf $(build-classpath maven/maven-compat) %{buildroot}%{_datadir}/%{name}/lib/plugins/maven-compat.jar
ln -sf $(build-classpath maven/maven-core) %{buildroot}%{_datadir}/%{name}/lib/plugins/maven-core.jar
# java.lang.ClassNotFoundException: org.sonatype.aether.* aether-api.jar,aether-util.jar
ln -sf $(build-classpath aether/api) %{buildroot}%{_datadir}/%{name}/lib/plugins/aether-api.jar
ln -sf $(build-classpath aether/util) %{buildroot}%{_datadir}/%{name}/lib/plugins/aether-util.jar
ln -sf $(build-classpath maven/maven-model) %{buildroot}%{_datadir}/%{name}/lib/plugins/maven-model.jar
ln -sf $(build-classpath maven/maven-settings) %{buildroot}%{_datadir}/%{name}/lib/plugins/maven-settings.jar
ln -sf $(build-classpath maven/maven-settings-builder) %{buildroot}%{_datadir}/%{name}/lib/plugins/maven-settings-builder.jar
ln -sf $(build-classpath maven-wagon/provider-api) %{buildroot}%{_datadir}/%{name}/lib/plugins/maven-wagon-provider-api.jar
ln -sf $(build-classpath plexus-component-api/plexus-component-api) %{buildroot}%{_datadir}/%{name}/lib/plugins/plexus-component-api.jar
ln -sf $(build-classpath plexus-containers/plexus-container-default) %{buildroot}%{_datadir}/%{name}/lib/plugins/plexus-container-default.jar
ln -sf $(build-classpath plexus/classworlds) %{buildroot}%{_datadir}/%{name}/lib/plugins/plexus-classworlds.jar
ln -sf $(build-classpath plexus/interpolation) %{buildroot}%{_datadir}/%{name}/lib/plugins/plexus-interpolation.jar
ln -sf $(build-classpath plexus-containers/plexus-component-annotations) %{buildroot}%{_datadir}/%{name}/lib/plugins/plexus-component-annotations-1.5.5.jar
ln -sf $(build-classpath plexus/utils) %{buildroot}%{_datadir}/%{name}/lib/plugins/plexus-utils.jar
ln -sf $(build-classpath plexus/plexus-cipher) %{buildroot}%{_datadir}/%{name}/lib/plugins/plexus-cipher-1.4.jar
ln -sf $(build-classpath plexus/plexus-sec-dispatcher) %{buildroot}%{_datadir}/%{name}/lib/plugins/plexus-sec-dispatcher.jar
ln -sf $(build-classpath polyglot-maven/pmaven-common) %{buildroot}%{_datadir}/%{name}/lib/plugins/pmaven-common.jar
ln -sf $(build-classpath polyglot-maven/pmaven-groovy) %{buildroot}%{_datadir}/%{name}/lib/plugins/pmaven-groovy.jar

ln -sf $(build-classpath snakeyaml) %{buildroot}%{_datadir}/%{name}/lib/plugins/snakeyaml-1.6.jar
ln -sf $(build-classpath testng) %{buildroot}%{_datadir}/%{name}/lib/plugins/testng-6.3.1.jar
ln -sf $(build-classpath nekohtml) %{buildroot}%{_datadir}/%{name}/lib/plugins/nekohtml.jar
ln -sf $(build-classpath xerces-j2) %{buildroot}%{_datadir}/%{name}/lib/plugins/
ln -sf $(build-classpath xml-commons-apis) %{buildroot}%{_datadir}/%{name}/lib/plugins/


mkdir -p %{buildroot}%{_bindir}
install -pm 755 %{SOURCE3} %{buildroot}%{_bindir}/%{name}

for png in 16x16 32x32 128x128 256x256 512x512;do
  mkdir -p %{buildroot}%{_datadir}/icons/hicolor/${png}/apps
  ln -sf ../../../../%{name}/media/%{name}-icon-${png}.png %{buildroot}%{_datadir}/icons/hicolor/${png}/apps/%{name}.png
done

desktop-file-validate %{name}.desktop
mkdir -p %{buildroot}%{_datadir}/applications
desktop-file-install --vendor="" \
    --dir=%{buildroot}%{_datadir}/applications %{name}.desktop

%post
/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :

%postun
if [ $1 -eq 0 ] ; then
    /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null
    /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
fi

%posttrans
/usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :

%files
%{_bindir}/%{name}
%{_javadir}/%{name}
%dir %{_datadir}/%{name}
%dir %{_datadir}/%{name}/bin
%{_datadir}/%{name}/bin/%{name}
%{_datadir}/%{name}/lib
%{_datadir}/%{name}/media
%{_datadir}/applications/%{name}.desktop
%{_datadir}/icons/hicolor/*x*/apps/%{name}.png
%doc %{_datadir}/%{name}/LICENSE
%doc %{_datadir}/%{name}/NOTICE
%doc %{_datadir}/%{name}/changelog.txt

%files javadoc
%{_javadocdir}/%{name}
%doc LICENSE NOTICE

%changelog
* Tue Aug 13 2013 Mikolaj Izdebski <mizdebsk@redhat.com> - 1.6-2
- Port to Eclipse Aether

* Wed Jun 19 2013 gil cattaneo <puntogil@libero.it> 1.6-1
- Update to 1.6

* Thu Nov 22 2012 gil cattaneo <puntogil@libero.it> 1.3-1
- Update to 1.3

* Sat Sep 22 2012 gil cattaneo <puntogil@libero.it> 1.2-1
- Update to 1.2

* Fri Sep 21 2012 gil cattaneo <puntogil@libero.it> 1.0-7
- Revert symlinks in %%_javadir, exception for gradle-launcher (see 809950#c43). thanks to A. Grimm 

* Fri Sep 21 2012 gil cattaneo <puntogil@libero.it> 1.0-6
- Revert symlinks from %%_datadir/gradle to %%_javadir/gradle

* Fri Sep 21 2012 gil cattaneo <puntogil@libero.it> 1.0-5
- Removed bundled jars
- Fixed unowned directories
- Used symlinks in %%_datadir/gradle

* Sun Aug 26 2012 gil cattaneo <puntogil@libero.it> 1.0-4
- used task assemble in non bootstrap mode
- fixed javadoc build
- fixed incorrectly modifies the getUserHome() method (RHBZ #809950#c24)
- removed libicns-utils support

* Fri Aug 10 2012 gil cattaneo <puntogil@libero.it> 1.0-3
- Added some missing build/requires
- Cleaned up spec file

* Mon Jul 16 2012 gil cattaneo <puntogil@libero.it> 1.0-2
- Changed plexus-container-default with plexus-containers-container-default
- Disabled signing plugin (depend on GRADLE-2210)
- Added BR classycle

* Tue Jun 12 2012 gil cattaneo <puntogil@libero.it> 1.0-1
- Update to 1.0

* Thu May 31 2012 gil cattaneo <puntogil@libero.it> 1.0-0.10.rc.3
- Add maven 3 support patch from Marek Goldmann

* Thu May 03 2012 gil cattaneo <puntogil@libero.it> 1.0-0.9.rc.3
- Update to 1.0-rc-3

* Wed May 02 2012 gil cattaneo <puntogil@libero.it> 1.0-0.8.rc.2
- Rebuilt with guava 11.0.2 support
- Remove guava-libraries references

* Sat Apr 28 2012 gil cattaneo <puntogil@libero.it> 1.0-0.7.rc.2
- Rebuilt with guava-libraries support

* Fri Apr 27 2012 gil cattaneo <puntogil@libero.it> 1.0-0.6.rc.2
- Update to 1.0-rc-2

* Mon Apr 23 2012 gil cattaneo <puntogil@libero.it> 1.0-0.5.rc.1
- edit Release tag

* Thu Apr 19 2012 gil cattaneo <puntogil@libero.it> 1.0-0.4.rc.1
- Applied PATCH18 remove some mvn2 references

* Fri Apr 13 2012 gil cattaneo <puntogil@libero.it> 1.0-0.3.rc.1
- Update to 1.0-rc-1
- Disable maven plugin see GRADLE-2210
- Added desktop file

* Thu Apr 05 2012 gil cattaneo <puntogil@libero.it> 1.0-0.2.milestone.9
- Added changelog
- Built apis documentation

* Sun Mar 25 2012 gil cattaneo <puntogil@libero.it> 1.0-0.1.milestone.9
- Initial rpm