gnu: Add maven-compiler-plugin.

* gnu/packages/maven.scm (maven-compiler-plugin): New variable.
This commit is contained in:
Julien Lepiller 2020-06-27 23:08:25 +02:00
parent c45e7ee688
commit dd607254ef
No known key found for this signature in database
GPG key ID: 53D457B2D636EE82

View file

@ -3034,3 +3034,71 @@ (define-public maven-shared-incremental
(description "This package contains various utility classes and plexus
components for supporting incremental build functionality in maven plugins.")
(license license:asl2.0)))
(define-public maven-compiler-plugin
(package
(name "maven-compiler-plugin")
(version "3.8.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/apache/"
"maven-compiler-plugin/archive/"
"maven-compiler-plugin-" version ".tar.gz"))
(sha256
(base32
"018d9qwc4cd6k7a8kvhvxjmzbzd2ifdf7m36wqjfq42010js1mv1"))))
(build-system ant-build-system)
(arguments
`(#:jar-name "maven-compiler-plugin.jar"
#:source-dir "src/main/java"
#:test-dir "src/test"
#:tests? #f; test depends on maven-plugin-test-harness
#:phases
(modify-phases %standard-phases
(add-before 'build 'generate-plugin.xml
(generate-plugin.xml "pom.xml"
"compiler"
"src/main/java/org/apache/maven/plugin/compiler"
(list
(list "AbstractCompilerMojo.java" "CompilerMojo.java")
(list "AbstractCompilerMojo.java" "TestCompilerMojo.java"))))
(add-after 'generate-plugin.xml 'fix-plugin.xml
(lambda _
(substitute* "build/classes/META-INF/maven/plugin.xml"
;; These are defined in AbstractCompilerMojo.java, but not
;; parsed correctly in the previous phase
(("DEFAULT_TARGET") "1.6")
(("DEFAULT_SOURCE") "1.6"))
#t))
(replace 'install
(install-from-pom "pom.xml")))))
(propagated-inputs
`(("maven-plugin-api" ,maven-plugin-api)
("maven-artifact" ,maven-artifact)
("maven-core" ,maven-core)
("maven-shared-utils" ,maven-shared-utils)
("maven-shared-incremental" ,maven-shared-incremental)
("java-plexus-java" ,java-plexus-java)
("java-plexus-compiler-api" ,java-plexus-compiler-api)
("java-plexus-compiler-manager" ,java-plexus-compiler-manager)
("java-plexus-compiler-javac" ,java-plexus-compiler-javac)
("maven-parent-pom" ,maven-parent-pom-33)))
(inputs
`(("maven-plugin-annotations" ,maven-plugin-annotations)
("java-commons-io" ,java-commons-io)))
(home-page "https://maven.apache.org/plugins/maven-compiler-plugin")
(synopsis "Compiler plugin for Maven")
(description "The Compiler Plugin is used to compile the sources of your
project. Since 3.0, the default compiler is @code{javax.tools.JavaCompiler}
(if you are using java 1.6) and is used to compile Java sources. If you want
to force the plugin using javac, you must configure the plugin option
@code{forceJavacCompilerUse}.
Also note that at present the default source setting is 1.6 and the default
target setting is 1.6, independently of the JDK you run Maven with. You are
highly encouraged to change these defaults by setting source and target as
described in Setting the -source and -target of the Java Compiler.
Other compilers than javac can be used and work has already started on
AspectJ, .NET, and C#.")
(license license:asl2.0)))