Add more gradle subprojects

Julien LepillerSun Jun 17 19:08:02+0200 2018

2acf58f

Add more gradle subprojects

more/packages/gradle.scm

17331733
         ("maven-settings" ,maven-settings)
17341734
         ("maven-settings-builder" ,maven-settings-builder))))))
17351735
1736+
;; TODO: build findbugs or remove findbugs dependency
1737+
(define-public gradle-code-quality
1738+
  (let ((base (gradle-groovy-subproject
1739+
                "code-quality"
1740+
                '("gradle-core" "gradle-plugins" "gradle-workers" "gradle-reporting")
1741+
                '("groovy" "java-slf4j-api"))))
1742+
    (package
1743+
      (inherit base)
1744+
      (inputs
1745+
       `(("gradle-base-services" ,gradle-base-services)
1746+
         ("gradle-base-services-groovy" ,gradle-base-services-groovy)
1747+
         ("gradle-core" ,gradle-core)
1748+
         ("gradle-core-api" ,gradle-core-api)
1749+
         ("gradle-logging" ,gradle-logging)
1750+
         ("gradle-native" ,gradle-native)
1751+
         ("gradle-plugins" ,gradle-plugins)
1752+
         ("gradle-reporting" ,gradle-reporting)
1753+
         ("groovy" ,groovy)
1754+
         ("java-findbugs" ,java-findbugs)
1755+
         ("java-guava-for-gradle" ,java-guava-for-gradle)
1756+
         ("java-javax-inject" ,java-javax-inject)
1757+
         ("java-jsr305" ,java-jsr305)
1758+
         ("java-slf4j-api" ,java-slf4j-api))))))
1759+
1760+
(define-public gradle-publish
1761+
  (let ((base (gradle-subproject
1762+
                "publish"
1763+
                '("gradle-core" "gradle-dependency-management")
1764+
                '("java-commons-lang" "java-gson"))))
1765+
    (package
1766+
      (inherit base)
1767+
      (inputs
1768+
       `(("gradle-base-services" ,gradle-base-services)
1769+
         ("gradle-base-services-groovy" ,gradle-base-services-groovy)
1770+
         ("gradle-core" ,gradle-core)
1771+
         ("gradle-core-api" ,gradle-core-api)
1772+
         ("gradle-dependency-management" ,gradle-dependency-management)
1773+
         ("gradle-logging" ,gradle-logging)
1774+
         ("gradle-model-core" ,gradle-model-core)
1775+
         ("groovy" ,groovy)
1776+
         ("java-commons-lang" ,java-commons-lang)
1777+
         ("java-gson" ,java-gson)
1778+
         ("java-guava-for-gradle" ,java-guava-for-gradle)
1779+
         ("java-javax-inject" ,java-javax-inject)
1780+
         ("java-slf4j-api" ,java-slf4j-api))))))
1781+
1782+
(define-public gradle-ivy
1783+
  (let ((base (gradle-subproject
1784+
                "ivy"
1785+
                '("gradle-core" "gradle-publish" "gradle-plugins"
1786+
                  "gradle-plugin-use" "gradle-dependency-management")
1787+
                '("java-apache-ivy"))))
1788+
    (package
1789+
      (inherit base)
1790+
      (inputs
1791+
       `(("gradle-base-services" ,gradle-base-services)
1792+
         ("gradle-base-services-groovy" ,gradle-base-services-groovy)
1793+
         ("gradle-core" ,gradle-core)
1794+
         ("gradle-core-api" ,gradle-core-api)
1795+
         ("gradle-dependency-management" ,gradle-dependency-management)
1796+
         ("gradle-logging" ,gradle-logging)
1797+
         ("gradle-model-core" ,gradle-model-core)
1798+
         ("gradle-publish" ,gradle-publish)
1799+
         ("gradle-resources" ,gradle-resources)
1800+
         ("groovy" ,groovy)
1801+
         ("java-apache-ivy" ,java-apache-ivy)
1802+
         ("java-commons-lang" ,java-commons-lang)
1803+
         ("java-guava-for-gradle" ,java-guava-for-gradle)
1804+
         ("java-javax-inject" ,java-javax-inject)
1805+
         ("java-jsr305" ,java-jsr305))))))
1806+
17361807
;; This package doesn't work. I need to understand how api-mapping.txt and
17371808
;; default-imports.txt are generated. Currently they are generated by a custom
17381809
;; task defined in buildsrc that is run by gradle, but we don't have enough of

29673038
                             "gradle-testing-base"
29683039
                             "gradle-resources-http"
29693040
                             "gradle-reporting"
3041+
                             "gradle-publish"
29703042
                             "gradle-plugins"
29713043
                             "gradle-platform-native"
29723044
                             "gradle-platform-jvm"

29753047
                             "gradle-language-jvm"
29763048
                             "gradle-language-java"
29773049
                             "gradle-language-groovy"
3050+
                             "gradle-ivy"
29783051
                             "gradle-ear"
29793052
                             "gradle-diagnostics"
29803053
                             "gradle-dependency-management"

31123185
       ("gradle-resources-http"        ,gradle-resources-http)
31133186
       ("gradle-resources"             ,gradle-resources)
31143187
       ("gradle-reporting"             ,gradle-reporting)
3188+
       ("gradle-publish"               ,gradle-publish)
31153189
       ("gradle-process-services"      ,gradle-process-services)
31163190
       ("gradle-plugin-use"            ,gradle-plugin-use)
31173191
       ("gradle-plugins"               ,gradle-plugins)

31293203
       ("gradle-language-java"         ,gradle-language-java)
31303204
       ("gradle-language-groovy"       ,gradle-language-groovy)
31313205
       ("gradle-jvm-services"          ,gradle-jvm-services)
3206+
       ("gradle-ivy"                   ,gradle-ivy)
31323207
       ("gradle-internal-testing"      ,gradle-internal-testing)
31333208
       ("gradle-installation-beacon"   ,gradle-installation-beacon)
31343209
       ("gradle-ear"                   ,gradle-ear)

more/packages/java.scm

598598
persisted, whether to a file, database, or over the network.")
599599
    (license license:bsd-3)))
600600
601+
;(define-public java-jformatstring
602+
;  (package
603+
;    (name "java-jformatstring")
604+
;    (version "3.0.0")
605+
;    (source (origin
606+
;              (method url-fetch)
607+
;              (uri (string-append "https://framagit.org/tyreunom/j-format-string/-/archive/"
608+
;                                  version "/j-format-string-" version ".tar.gz"))
609+
;              (sha256
610+
;               (base32
611+
;                "0ypqnchxif7rkq3n9vshj3j0d24kw3wr6k00yb5i14jm59m21r90"))
612+
;              (modules '((guix build utils)))
613+
;              (snippet
614+
;                '(begin
615+
;                   (for-each delete-file (find-files "." ".*.jar"))))))
616+
;    (build-system ant-build-system)
617+
;    (arguments
618+
;     `(#:jar-name "jformatstring.jar"))
619+
;    (inputs
620+
;     `(("java-jsr305" ,java-jsr305)
621+
;       ("java-junit" ,java-junit)))
622+
;    (home-page "http://findbugs.sourceforge.net/")
623+
;    (synopsis "")
624+
;    (description "")
625+
;    ;; license: gpl2 only, with classpath exception
626+
;    (license license:gpl2)))
627+
628+
;(define-public java-commons-bcel-5
629+
;  (package
630+
;    (inherit java-commons-bcel)
631+
;    (version "6.0")
632+
;    (source (origin
633+
;              (method url-fetch)
634+
;              (uri (string-append "https://archive.apache.org/dist/commons/"
635+
;                                  "bcel/source/bcel-" version "-src.tar.gz"))
636+
;              (sha256
637+
;               (base32
638+
;                "0n39601zcj7ymjihfv53r260mf3n8kj6bqhxv90dw5sgc7qbjqxr"))))
639+
;    (arguments
640+
;     `(#:jar-name "commons-bcel.jar"
641+
;       #:source-dir "src/java"
642+
;       #:tests? #f
643+
;       #:phases
644+
;       (modify-phases %standard-phases
645+
;         (add-before 'build 'use-iso8859
646+
;           (lambda _
647+
;             (substitute* "build.xml"
648+
;               (("<javac ") "<javac encoding=\"iso-8859-1\" "))
649+
;             #t)))))))
650+
601651
(define-public java-findbugs
602652
  (package
603653
    (name "java-findbugs")

608658
                                  "findbugs-" version "-source.zip"))
609659
              (sha256
610660
               (base32
611-
                "1zrkpmd87lcz62lk5dr0mpf5gbzrd1i8mmrv510fs6fla1jwd3mx"))))
661+
                "1zrkpmd87lcz62lk5dr0mpf5gbzrd1i8mmrv510fs6fla1jwd3mx"))
662+
              (modules '((guix build utils)))
663+
              (snippet
664+
                '(begin
665+
                   (for-each delete-file (find-files "." ".*.jar"))))))
612666
    (build-system ant-build-system)
613-
    (native-inputs
614-
     `(("unzip" ,unzip)))
615667
    (arguments
616668
     `(#:build-target "jars"
617669
       #:test-target "test"
618670
       #:make-flags (list "-Dgitrnum=0")
619671
       #:phases
620672
       (modify-phases %standard-phases
673+
         (add-before 'build 'add-formatstring
674+
           (lambda* (#:key inputs #:allow-other-keys)
675+
             (invoke "tar" "xf" (assoc-ref inputs "java-jformatstring"))
676+
             (copy-recursively "j-format-string-3.0.0/src/java" "src/java")
677+
             (copy-recursively "j-format-string-3.0.0/src/junit" "src/junit")
678+
             #t))
679+
         (add-before 'build 'fix-bcel-version
680+
           (lambda _
681+
             ;; Findbugs requires an older version of bcel. Fix it to support
682+
             ;; newer bcel versions.
683+
             (with-directory-excursion "src/java/edu/umd/cs/findbugs"
684+
               (with-fluids ((%default-port-encoding "ISO-8859-1"))
685+
                 (substitute* '("visitclass/PreorderVisitor.java"
686+
                                "StackMapAnalyzer.java")
687+
                   ;; The two classes were merged in the latter
688+
                   (("StackMapTable")
689+
                    "StackMap"))))
690+
             #t))
691+
         (add-before 'build 'remove-osx
692+
           (lambda _
693+
             ;; Requires AppleJavaExtensions.jar (com.apple.eawt.*)
694+
             (delete-file "src/gui/edu/umd/cs/findbugs/gui2/OSXAdapter.java")
695+
             #t))
696+
         (add-before 'build 'find-dependencies
697+
           (lambda* (#:key inputs #:allow-other-keys)
698+
             (for-each
699+
               (lambda (input)
700+
                 (for-each
701+
                   (lambda (file)
702+
                     (display file) (display " -> ")
703+
                     (display (string-append "lib/" (basename file))) (newline)
704+
                     (newline)
705+
                     (copy-file file (string-append "lib/" (basename file))))
706+
                   (find-files (assoc-ref inputs input) ".*.jar")))
707+
               '("java-jsr305" "java-commons-bcel-5" "java-dom4j" "java-asm"
708+
                 "java-jcip-annotations" "java-commons-lang"))
709+
             #t))
621710
         (add-before 'build 'no-git
622711
           (lambda _
623712
             ;; We are not building a git revision
624713
             (substitute* "build.xml"
625714
               ((",-get-git-revision") ""))
626-
             #t)))))
715+
             #t))
716+
         (replace 'install
717+
           (install-jars "build")))))
718+
    (inputs
719+
     `(("java-asm" ,java-asm)
720+
       ("java-commons-bcel-5" ,java-commons-bcel-6.0)
721+
       ("java-commons-lang" ,java-commons-lang)
722+
       ("java-dom4j" ,java-dom4j)
723+
       ("java-jcip-annotations" ,java-jcip-annotations)
724+
       ("java-jsr305" ,java-jsr305)))
725+
    (native-inputs
726+
     `(("unzip" ,unzip)
727+
       ("java-jformatstring"
728+
        ,(origin
729+
           (method url-fetch)
730+
           (uri (string-append "https://framagit.org/tyreunom/j-format-string/-/archive/"
731+
                               "3.0.0/j-format-string-3.0.0.tar.gz"))
732+
           (sha256
733+
            (base32
734+
             "0ypqnchxif7rkq3n9vshj3j0d24kw3wr6k00yb5i14jm59m21r90"))
735+
           (modules '((guix build utils)))
736+
           (snippet
737+
             '(begin
738+
                (for-each delete-file (find-files "." ".*.jar"))))))))
627739
    (home-page "http://findbugs.sourceforge.net/")
628740
    (synopsis "")
629741
    (description "")

28702982
    (description "")
28712983
    (license license:public-domain)))
28722984
2873-
(define-public java-commons-bcel
2985+
(define-public java-commons-bcel-6.0
28742986
  (package
28752987
    (name "java-commons-bcel")
28762988
    (version "6.0")

28842996
    (build-system ant-build-system)
28852997
    (arguments
28862998
     `(#:jar-name "commons-bcel.jar"
2887-
       #:jdk ,icedtea-8
2999+
       ;#:jdk ,icedtea-8
28883000
       #:source-dir "src/main/java"
28893001
       ;; FIXME: requires org.openjdk.jmh.* and com.sun.jna.platform.win32 for tests
28903002
       #:tests? #f))