From a6dd06d0e2297c4eabbfcb5461ee6560cd0b2f95 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Tue, 24 Oct 2017 22:04:14 +0200 Subject: gnu: Add java-jcommander. * gnu/packages/java.scm (java-jcommander): New variable. --- gnu/packages/java.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'gnu/packages/java.scm') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 1fcd237d5..5263dcc43 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -6248,3 +6248,28 @@ manipulation simple. It is a class library for editing bytecodes in Java; it enables Java programs to define a new class at runtime and to modify a class file when the JVM loads it.") (license (list license:gpl2 license:cddl1.0)))); either gpl2 only or cddl. + +(define-public java-jcommander + (package + (name "java-jcommander") + (version "1.71") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/cbeust/jcommander/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1f5k2ckay6qjc3d3w3d7bc0p3cx3c7n6p6zxvw1kibqdr0q98wlx")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "java-jcommander.jar" + #:jdk ,icedtea-8 + #:tests? #f; requires testng which depends on jcommander + #:source-dir "src/main/java")) + (home-page "http://jcommander.org") + (synopsis "Command line parameters parser") + (description "JCommander is a very small Java framework that makes it +trivial to parse command line parameters. Parameters are declared with +annotations.") + (license license:asl2.0))) -- cgit v1.3 From 11bc385b7b3a1e2a06ca93f39dc211572c4e5d89 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Tue, 24 Oct 2017 22:05:04 +0200 Subject: gnu: Add java-bsh. * gnu/packages/java.scm (java-bsh): New variable. --- gnu/packages/java.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'gnu/packages/java.scm') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 5263dcc43..a9df37ee4 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -6273,3 +6273,36 @@ file when the JVM loads it.") trivial to parse command line parameters. Parameters are declared with annotations.") (license license:asl2.0))) + +(define-public java-bsh + (package + (name "java-bsh") + (version "2.0b6") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/beanshell/beanshell/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1bawkxk6jyc75hxvzkpz689h73cn3f222m0ar3nvb0dal2b85kfv")))) + (build-system ant-build-system) + (arguments + `(#:build-target "jarall" + #:test-target "junit-tests-all" + #:phases + (modify-phases %standard-phases + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((share (string-append (assoc-ref outputs "out") "/share/java"))) + (mkdir-p share) + (copy-file "dist/bsh-2.0b6.jar" (string-append share "/bsh-2.0b6.jar")) + #t)))))) + (home-page "http://beanshell.org/") + (synopsis "Lightweight Scripting for Java") + (description "BeanShell is a small, free, embeddable Java source +interpreter with object scripting language features, written in Java. +BeanShell dynamically executes standard Java syntax and extends it with common +scripting conveniences such as loose types, commands, and method closures like +those in Perl and JavaScript.") + (license license:asl2.0))) -- cgit v1.3 From 045124ae2fd959dd1860170b03c89a0dd9d0ebe0 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Tue, 24 Oct 2017 22:08:38 +0200 Subject: gnu: Add java-jmock. * gnu/packages/java.scm (java-jmock): New variable. --- gnu/packages/java.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'gnu/packages/java.scm') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index a9df37ee4..ac1f1bf0b 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2539,6 +2539,31 @@ The jMock library @end itemize\n") (license license:bsd-3))) +(define-public java-jmock + (package + (inherit java-jmock-1) + (name "java-jmock") + (version "2.8.2") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/jmock-developers/" + "jmock-library/archive/" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "18650a9g8xffcsdb6w91pbswa7f40fp2sh6s3nclkclz5dbzq8f0")))) + (inputs + `(("java-hamcrest-all" ,java-hamcrest-all) + ("java-asm" ,java-asm) + ("java-bsh" ,java-bsh) + ("java-junit" ,java-junit))) + (native-inputs + `(("cglib" ,java-cglib))) + (arguments + `(#:jar-name "java-jmock.jar" + #:source-dir "jmock/src/main/java" + #:test-dir "jmock/src/test")))) + (define-public java-hamcrest-all (package (inherit java-hamcrest-core) (name "java-hamcrest-all") -- cgit v1.3 From 25436c6d03b46b681ecf464d2f8ac087dbf07dcf Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Tue, 24 Oct 2017 22:09:31 +0200 Subject: gnu: Add java-jmock-junit4. * gnu/packages/java.scm (java-jmock-junit4): New variable. --- gnu/packages/java.scm | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'gnu/packages/java.scm') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index ac1f1bf0b..b36ee250f 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2564,6 +2564,21 @@ The jMock library #:source-dir "jmock/src/main/java" #:test-dir "jmock/src/test")))) +(define-public java-jmock-junit4 + (package + (inherit java-jmock) + (name "java-jmock-junit4") + (arguments + `(#:jar-name "java-jmock-junit4.jar" + #:source-dir "jmock-junit4/src/main/java" + #:test-dir "jmock-junit4/src/test")) + (inputs + `(("java-hamcrest-all" ,java-hamcrest-all) + ("java-asm" ,java-asm) + ("java-bsh" ,java-bsh) + ("java-jmock" ,java-jmock) + ("java-jumit" ,java-junit))))) + (define-public java-hamcrest-all (package (inherit java-hamcrest-core) (name "java-hamcrest-all") -- cgit v1.3 From e84b899d50d9426381e3950e58133f50f971aac0 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Tue, 24 Oct 2017 22:10:38 +0200 Subject: gnu: Add java-jmock-legacy. * gnu/packages/java.scm (java-jmock-legacy): New variable. --- gnu/packages/java.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'gnu/packages/java.scm') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index b36ee250f..2b07def49 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2579,6 +2579,34 @@ The jMock library ("java-jmock" ,java-jmock) ("java-jumit" ,java-junit))))) +(define-public java-jmock-legacy + (package + (inherit java-jmock) + (name "java-jmock-legacy") + (arguments + `(#:jar-name "java-jmock-legacy.jar" + #:source-dir "jmock-legacy/src/main/java" + #:test-dir "jmock-legacy/src/test" + #:phases + (modify-phases %standard-phases + (add-before 'check 'copy-tests + (lambda _ + ;; This file is a dependancy of some tests + (let ((file "org/jmock/test/acceptance/PackageProtectedType.java")) + (copy-file (string-append "jmock/src/test/java/" file) + (string-append "jmock-legacy/src/test/java/" file)) + #t)))))) + (inputs + `(("java-hamcrest-all" ,java-hamcrest-all) + ("java-objenesis" ,java-objenesis) + ("java-cglib" ,java-cglib) + ("java-jmock" ,java-jmock) + ("java-asm" ,java-asm) + ("java-bsh" ,java-bsh) + ("java-junit" ,java-junit))) + (native-inputs + `(("java-jmock-junit4" ,java-jmock-junit4))))) + (define-public java-hamcrest-all (package (inherit java-hamcrest-core) (name "java-hamcrest-all") -- cgit v1.3 From 7a343e971a71f899e329004b70323af5296e059c Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Tue, 24 Oct 2017 22:14:53 +0200 Subject: gnu: Add java-fest-util. * gnu/packages/java.scm (java-fest-util): New variable. --- gnu/packages/java.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'gnu/packages/java.scm') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 2b07def49..2df43d38a 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -6374,3 +6374,26 @@ BeanShell dynamically executes standard Java syntax and extends it with common scripting conveniences such as loose types, commands, and method closures like those in Perl and JavaScript.") (license license:asl2.0))) + +(define-public java-fest-util + (package + (name "java-fest-util") + (version "1.2.5") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/alexruiz/fest-util/" + "archive/fest-util-" version ".tar.gz")) + (sha256 + (base32 + "05g6hljz5mdaakk8d7g32klbhz9bdwp3qlj6rdaggdidxs3x1sb8")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "java-fest-util.jar" + #:source-dir "src/main/java")) + (native-inputs + `(("junit" ,java-junit) + ("hamcrest" ,java-hamcrest-core))) + (home-page "https://github.com/alexruiz/fest-util") + (synopsis "FEST common utilities") + (description "Common utilities used in all FEST module.") + (license license:asl2.0))) -- cgit v1.3 From 3c6c835806791e91f04e65d8c078842b69d06020 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Tue, 24 Oct 2017 22:15:30 +0200 Subject: gnu: Add java-fest-test. * gnu/packages/java.scm (java-fest-test): New variable. --- gnu/packages/java.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'gnu/packages/java.scm') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 2df43d38a..4be3554d4 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -6397,3 +6397,26 @@ those in Perl and JavaScript.") (synopsis "FEST common utilities") (description "Common utilities used in all FEST module.") (license license:asl2.0))) + +(define-public java-fest-test + (package + (name "java-fest-test") + (version "2.1.0") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/alexruiz/fest-test/" + "archive/fest-test-" version ".tar.gz")) + (sha256 + (base32 + "1rxfbw6l9vc65iy1x3fb617qc6y4w2k430pgf1mfbxfdlxbm0f7g")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "java-fest-test.jar" + #:source-dir "src/main/java" + #:tests? #f)); no tests + (inputs + `(("junit" ,java-junit))) + (home-page "https://github.com/alexruiz/fest-test") + (synopsis "Common FEST testing infrastructure") + (description "Fest-test contains the common FEST testing infrastructure.") + (license license:asl2.0))) -- cgit v1.3 From ca98e4481f41b8a0413f2660169d4326461c0dc5 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Tue, 24 Oct 2017 22:16:10 +0200 Subject: gnu: Add java-fest-assert. * gnu/packages/java.scm (java-fest-assert): New variable. --- gnu/packages/java.scm | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) (limited to 'gnu/packages/java.scm') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 4be3554d4..7d2ab5fec 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -6420,3 +6420,40 @@ those in Perl and JavaScript.") (synopsis "Common FEST testing infrastructure") (description "Fest-test contains the common FEST testing infrastructure.") (license license:asl2.0))) + +(define-public java-fest-assert + (package + (name "java-fest-assert") + (version "2.0M10") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/alexruiz/fest-assert-2.x/" + "archive/fest-assert-core-" version ".tar.gz")) + (sha256 + (base32 + "1bi0iqavikzww6rxvz5jyg7y6bflv95s6ibryxx0xfcxrrw6i5lw")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "java-fest-assert.jar" + #:source-dir "src/main/java" + #:test-exclude + (list + "**/Abstract*.java" + "**/*BaseTest.java" + ;; Unable to set MockitoNamingPolicy on cglib generator which creates FastClasses + "**/MessageFormatter_format_Test.java" + "**/internal/*/*_assert*_Test.java"))) + (inputs + `(("java-fest-util" ,java-fest-util))) + (native-inputs + `(("java-junit" ,java-junit) + ("java-fest-test" ,java-fest-test) + ("java-hamcrest-core" ,java-hamcrest-core) + ("java-mockito" ,java-mockito-1) + ("java-cglib" ,java-cglib) + ("java-objenesis" ,java-objenesis) + ("java-asm" ,java-asm))) + (home-page "https://github.com/alexruiz/fest-assert-2.x") + (synopsis "FEST fluent assertions") + (description "FEST-Assert provides a fluent interface for assertions.") + (license license:asl2.0))) -- cgit v1.3 From 0442d897e9e498cff647f03964689dc044825254 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Tue, 24 Oct 2017 22:18:59 +0200 Subject: gnu: Add java-testng. * gnu/packages/java.scm (java-testng): New variable. --- gnu/packages/java.scm | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) (limited to 'gnu/packages/java.scm') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 7d2ab5fec..681c5ab9d 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -6457,3 +6457,63 @@ those in Perl and JavaScript.") (synopsis "FEST fluent assertions") (description "FEST-Assert provides a fluent interface for assertions.") (license license:asl2.0))) + +(define-public java-testng + (package + (name "java-testng") + (version "6.12") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/cbeust/testng/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "01j2x47wkj7n5w6gpcjfbwgc88ai5654b23lb87w7nsrj63m3by6")))) + (build-system ant-build-system) + (arguments + `(#:jdk ,icedtea-8; java.util.function + #:jar-name "java-testng.jar" + #:source-dir "src/main/java" + #:phases + (modify-phases %standard-phases + (add-before 'build 'copy-resources + (lambda _ + (copy-recursively "src/main/resources" "build/classes") + #t)) + (add-before 'check 'copy-test-resources + (lambda _ + (copy-recursively "src/test/resources" "build/test-classes") + #t)) + (replace 'check + (lambda _ + (system* "ant" "compile-tests") + ;; we don't have groovy + (substitute* "src/test/resources/testng.xml" + (("") "")) + (zero? (system* "java" "-cp" (string-append (getenv "CLASSPATH") + ":build/classes" + ":build/test-classes") + "-Dtest.resources.dir=src/test/resources" + "org.testng.TestNG" "src/test/resources/testng.xml"))))))) + (propagated-inputs + `(("junit" ,java-junit) + ("java-jsr305" ,java-jsr305) + ("java-bsh" ,java-bsh) + ("java-jcommander" ,java-jcommander) + ("java-guice" ,java-guice) + ("snakeyaml" ,java-snakeyaml))) + (native-inputs + `(("guava" ,java-guava) + ("java-javax-inject" ,java-javax-inject) + ("java-hamcrest" ,java-hamcrest-all) + ("java-assertj" ,java-assertj) + ("cglib" ,java-cglib) + ("asm" ,java-asm) + ("aopalliance" ,java-aopalliance))) + (home-page "http://testng.org") + (synopsis "Testing framework") + (description "TestNG is a testing framework inspired from JUnit and NUnit +but introducing some new functionalities that make it more powerful and easier +to use.") + (license license:asl2.0))) -- cgit v1.3 From 1717a7de7b7a163644fc9e0761c1d8ec80bb29c1 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Tue, 24 Oct 2017 22:30:48 +0200 Subject: gnu: Add java-jnacl. * gnu/packages/java.scm (java-jnacl): New variable. --- gnu/packages/java.scm | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) (limited to 'gnu/packages/java.scm') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 681c5ab9d..0e4ed6d89 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -6517,3 +6517,53 @@ those in Perl and JavaScript.") but introducing some new functionalities that make it more powerful and easier to use.") (license license:asl2.0))) + +(define-public java-jnacl + (package + (name "java-jnacl") + (version "0.1.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/neilalexander/jnacl") + (commit "40c322e0a42637ab17cdf941138eeaf2494055f8"))) + (sha256 + (base32 + "1pspnmp44q61a2q4bpslpxw86rfn8s5l0xgvyrikqgdvg7ypx597")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "java-jnacl.jar" + #:source-dir "src/main/java" + #:jdk ,icedtea-8 + #:phases + (modify-phases %standard-phases + (add-before 'build 'fix-tests + (lambda _ + (substitute* "src/test/java/com/neilalexander/jnacl/NaClTest.java" + (("assertions.Assertions") "assertions.api.Assertions")) + (substitute* "src/test/java/com/neilalexander/jnacl/NaclSecretBoxTest.java" + (("assertions.Assertions") "assertions.api.Assertions")) + #t)) + (replace 'check + (lambda _ + (system* "ant" "compile-tests") + (and + (zero? (system* "java" "-cp" (string-append (getenv "CLASSPATH") + ":build/classes" + ":build/test-classes") + "org.testng.TestNG" "-testclass" + "build/test-classes/com/neilalexander/jnacl/NaclSecretBoxTest.class")) + (zero? (system* "java" "-cp" (string-append (getenv "CLASSPATH") + ":build/classes" + ":build/test-classes") + "org.testng.TestNG" "-testclass" + "build/test-classes/com/neilalexander/jnacl/NaClTest.class")))))))) + (native-inputs + `(("java-testng" ,java-testng) + ("java-fest-util" ,java-fest-util) + ("java-fest-assert" ,java-fest-assert))) + (home-page "https://github.com/neilalexander/jnacl") + (synopsis "Java implementation of NaCl") + (description "Pure Java implementation of the NaCl: Networking and +Cryptography library.") + (license license:mpl2.0))) -- cgit v1.3 From eaf3cb7a418df1cf9d7837f0f1aef0a2efeb2538 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Mon, 30 Oct 2017 18:40:24 +0100 Subject: gnu: Add java-mvel2. * gnu/packages/java.scm (java-mvel2): New variable. --- gnu/packages/java.scm | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) (limited to 'gnu/packages/java.scm') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 0e4ed6d89..59f941f8e 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -6567,3 +6567,57 @@ to use.") (description "Pure Java implementation of the NaCl: Networking and Cryptography library.") (license license:mpl2.0))) + +(define-public java-mvel2 + (package + (name "java-mvel2") + (version "2.3.1") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/mvel/mvel/archive/mvel2-" + version ".Final.tar.gz")) + (sha256 + (base32 + "01ph5s9gm16l2qz58lg21w6fna7xmmrj7f9bzqr1jim7h9557d3z")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "mvel2.jar" + #:source-dir "src/main/java" + #:test-exclude + (list "**/Abstract*.java" + ;; Base class with no tests + "**/MVELThreadTest.java") + #:phases + (modify-phases %standard-phases + (add-after 'install 'install-bin + (lambda* (#:key outputs #:allow-other-keys) + (let ((bin (string-append (assoc-ref outputs "out") "/bin"))) + (mkdir-p bin) + (with-output-to-file (string-append bin "/mvel2") + (lambda _ + (display + (string-append + "#!" (which "bash") "\n" + "if [ \"$#\" -ne \"2\" ]; then\n" + "echo 'Usage: mvel2