From: Julien Lepiller <julien@lepiller.eu>
To: 30417@debbugs.gnu.org
Subject: [bug#30417] [PATCH 06/11] gnu: Add java-modello-core.
Date: Sat, 24 Feb 2018 22:11:15 +0100 [thread overview]
Message-ID: <20180224221108.63006124@lepiller.eu> (raw)
In-Reply-To: <878tbrveok.fsf@fastmail.com>
[-- Attachment #1: Type: text/plain, Size: 8308 bytes --]
Le Sat, 17 Feb 2018 16:06:19 +0100,
Marius Bakke <mbakke@fastmail.com> a écrit :
> Björn Höfling <bjoern.hoefling@bjoernhoefling.de> writes:
>
> > On Wed, 14 Feb 2018 22:56:38 +0100
> > Julien Lepiller <julien@lepiller.eu> wrote:
> >
> >> Le Wed, 14 Feb 2018 21:22:25 +0100,
> >> Björn Höfling <bjoern.hoefling@bjoernhoefling.de> a écrit :
> >>
> >> > On Sun, 11 Feb 2018 00:04:33 +0100
> >> > Julien Lepiller <julien@lepiller.eu> wrote:
> >> >
> >> > > * gnu/packages/java.scm (java-modello-core): New variable.
> >> > > ---
> >> > > gnu/packages/java.scm | 50
> >> > > ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file
> >> > > changed, 50 insertions(+)
> >> > >
> >> > > diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
> >> > > index af9acd71f..d75960831 100644
> >> > > --- a/gnu/packages/java.scm
> >> > > +++ b/gnu/packages/java.scm
> >> > > @@ -2811,6 +2811,56 @@ a default implementation of it. This
> >> > > API is about scanning files in a project and determining what
> >> > > files need to be rebuilt.") (license license:asl2.0)))
> >> > >
> >> > > +(define-public java-modello-core
> >> > > + (package
> >> > > + (name "java-modello-core")
> >> > > + (version "1.9.1")
> >> > > + (source (origin
> >> > > + (method url-fetch)
> >> > > + (uri (string-append
> >> > > "https://github.com/codehaus-plexus/modello"
> >> > > + "/archive/modello-" version
> >> > > ".tar.gz"))
> >> > > + (sha256
> >> > > + (base32
> >> > > +
> >> > > "0l2pvns8pmlrmjm3iknp7gpg3654y1m8qhy55b19sdwdchdcyxfh"))))
> >> > > + (build-system ant-build-system)
> >> > > + (arguments
> >> > > + `(#:jar-name "modello-core.jar"
> >> > > + #:source-dir "modello-core/src/main/java"
> >> > > + #:test-dir "modello-core/src/test"
> >> > > + #:main-class "org.codehaus.modello.ModelloCli"
> >> > > + #:jdk ,icedtea-8
> >> > > + #:phases
> >> > > + (modify-phases %standard-phases
> >> > > + (add-before 'build 'copy-resources
> >> > > + (lambda _
> >> > > + (mkdir-p "build/classes/META-INF/plexus")
> >> > > + (copy-file
> >> > > "modello-core/src/main/resources/META-INF/plexus/components.xml"
> >> > > +
> >> > > "build/classes/META-INF/plexus/components.xml")
> >> > > + #t))
> >> > > + (add-before 'check 'fix-tests
> >> > > + (lambda _
> >> > > + (substitute*
> >> > > '("modello-core/src/test/java/org/codehaus/modello/core/DefaultModelloCoreTest.java"
> >> > > +
> >> > > "modello-core/src/test/java/org/codehaus/modello/core/io/ModelReaderTest.java")
> >> > > + (("src/test") "modello-core/src/test")))))))
> >> > > + (inputs
> >> > > + `(("java-plexus-utils" ,java-plexus-utils)
> >> > > +
> >> > > ("java-plexus-container-default-bootstrap" ,java-plexus-container-default-bootstrap)
> >> > > + ("java-sisu-build-api" ,java-sisu-build-api)))
> >> > > + (native-inputs
> >> > > + `(("java-junit" ,java-junit)
> >> > > + ("java-plexus-classworlds" ,java-plexus-classworlds)
> >> > > +
> >> > > ("java-geronimo-xbean-reflect" ,java-geronimo-xbean-reflect)
> >> > > + ("java-guava" ,java-guava)))
> >> > > + (home-page "http://codehaus-plexus.github.io/modello/")
> >> > > + (synopsis "Framework for code generation from a simple
> >> > > model")
> >> > > + (description "Modello is a framework for code generation
> >> > > from a simple model. +
> >> > > +Modello generates code from a simple model format: based on a
> >> > > plugin +architecture, various types of code and descriptors
> >> > > can be generated from the +single model, including Java POJOs,
> >> > > XML/JSON/YAML marshallers/unmarshallers, +XSD and
> >> > > documentation.")
> >> > > + (license license:asl2.0)))
> >> >
> >> > I'm not sure about how to declare the license:
> >> >
> >> > If you consider only the code under modello-core, that is only
> >> > license:expat (if I havent overseen anything).
> >> >
> >> > But as you are not working with snippets here, I think you have
> >> > to look at every file in the original source package. And there
> >> > I found three types of licenses:
> >> >
> >> > * expat, as above
> >> > * asl2.0, like
> >> > in ./modello-plugins/modello-plugin-stax/src/test/java/org/codehaus/modello/generator/xml/stax/BooleanTypeStaxGeneratorTest.java
> >> > * Finally, some kind of "5-clause-BSD":
> >> > ./modello-plugins/modello-plugin-java/src/main/java/org/codehaus/modello/plugin/java/javasource/JNaming.java
> >> > I always have my troubles matching a license text to one of the
> >> > available licenses, so I quote it in full here:
> >> >
> >> > /**
> >> > * Redistribution and use of this software and associated
> >> > documentation
> >> > * ("Software"), with or without modification, are permitted
> >> > provided
> >> > * that the following conditions are met:
> >> > *
> >> > * 1. Redistributions of source code must retain copyright
> >> > * statements and notices. Redistributions must also contain
> >> > a
> >> > * copy of this document.
> >> > *
> >> > * 2. Redistributions in binary form must reproduce the
> >> > * above copyright notice, this list of conditions and the
> >> > * following disclaimer in the documentation and/or other
> >> > * materials provided with the distribution.
> >> > *
> >> > * 3. The name "Exolab" must not be used to endorse or promote
> >> > * products derived from this Software without prior written
> >> > * permission of Intalio, Inc. For written permission,
> >> > * please contact info@codehaus.org.
> >> > *
> >> > * 4. Products derived from this Software may not be called
> >> > "Exolab"
> >> > * nor may "Exolab" appear in their names without prior
> >> > written
> >> > * permission of Intalio, Inc. Exolab is a registered
> >> > * trademark of Intalio, Inc.
> >> > *
> >> > * 5. Due credit should be given to the Exolab Project
> >> > * (http://www.codehaus.org/).
> >> > *
> >> > * THIS SOFTWARE IS PROVIDED BY INTALIO, INC. AND CONTRIBUTORS
> >> > * ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING,
> >> > BUT
> >> > * NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
> >> > * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
> >> > SHALL
> >> > * INTALIO, INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
> >> > * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
> >> > DAMAGES
> >> > * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
> >> > GOODS OR
> >> > * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
> >> > INTERRUPTION)
> >> > * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
> >> > CONTRACT,
> >> > * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
> >> > * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
> >> > ADVISED
> >> > * OF THE POSSIBILITY OF SUCH DAMAGE.
> >> > *
> >> > * Copyright 1999-2000 (C) Intalio, Inc. All Rights Reserved.
> >> > *
> >> > * $Id$
> >> > */
> >>
> >> We don't have anything for that license. I've seen it in some other
> >> java packages, and I used (non-copyleft "file:///LICENSE.txt"),
> >> except this time, LICENSE.txt contains only the expat license. The
> >> files that have this license are also licensed under the expat
> >> license. Is it OK to declare only the expat license here, as it is
> >> the only one in LICENSE.txt?
> >
> >
> > I'm not a license expert. Has anyone else a opinion on that?
>
> I haven't checked, but if these source files are not part of the
> installed product (e.g. they are only used for tests, or optional
> plugins/features), AFAIU we don't need to list them in the
> (license ...) field.
>
> But please add a comment about them regardless.
I've addressed all the comments in other packages, but this one
remains. Here is what I did. Do you think it's OK (I don't really like
to use string-append, but it shortens the length of lines). What do you
think?
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0007-gnu-Add-java-modello-core.patch --]
[-- Type: text/x-patch, Size: 3883 bytes --]
From 5b1ecd2d2c451d3aba05eb9647bff39574b02e4f Mon Sep 17 00:00:00 2001
From: Julien Lepiller <julien@lepiller.eu>
Date: Sat, 10 Feb 2018 22:51:17 +0100
Subject: [PATCH 07/12] gnu: Add java-modello-core.
* gnu/packages/java.scm (java-modello-core): New variable.
---
gnu/packages/java.scm | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 63 insertions(+)
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index a274055a5..6288a2a63 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -2814,6 +2814,69 @@ a default implementation of it. This API is about scanning files in a
project and determining what files need to be rebuilt.")
(license license:asl2.0)))
+(define-public java-modello-core
+ (package
+ (name "java-modello-core")
+ (version "1.9.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/codehaus-plexus/modello"
+ "/archive/modello-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0l2pvns8pmlrmjm3iknp7gpg3654y1m8qhy55b19sdwdchdcyxfh"))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:jar-name "modello-core.jar"
+ #:source-dir "modello-core/src/main/java"
+ #:test-dir "modello-core/src/test"
+ #:main-class "org.codehaus.modello.ModelloCli"
+ #:jdk ,icedtea-8
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'copy-resources
+ (lambda _
+ (mkdir-p "build/classes/META-INF/plexus")
+ (copy-file "modello-core/src/main/resources/META-INF/plexus/components.xml"
+ "build/classes/META-INF/plexus/components.xml")
+ #t))
+ (add-before 'check 'fix-tests
+ (lambda _
+ (with-directory-excursion "modello-core/src/test/java/org/codehaus"
+ (substitute* '("modello/core/DefaultModelloCoreTest.java"
+ "modello/core/io/ModelReaderTest.java")
+ (("src/test") "modello-core/src/test")))
+ #t)))))
+ (inputs
+ `(("java-plexus-utils" ,java-plexus-utils)
+ ("java-plexus-container-default" ,java-plexus-container-default)
+ ("java-sisu-build-api" ,java-sisu-build-api)))
+ (native-inputs
+ `(("java-junit" ,java-junit)
+ ("java-plexus-classworlds" ,java-plexus-classworlds)
+ ("java-geronimo-xbean-reflect" ,java-geronimo-xbean-reflect)
+ ("java-guava" ,java-guava)))
+ (home-page "http://codehaus-plexus.github.io/modello/")
+ (synopsis "Framework for code generation from a simple model")
+ (description "Modello is a framework for code generation from a simple model.
+
+Modello generates code from a simple model format: based on a plugin
+architecture, various types of code and descriptors can be generated from the
+single model, including Java POJOs, XML/JSON/YAML marshallers/unmarshallers,
+XSD and documentation.")
+ (license (list
+ license:expat
+ ;; Although this package uses only files licensed under expat,
+ ;; other parts of the source are licensed under different
+ ;; licenses. We include them to be inherited by other packages.
+ license:asl2.0
+ ;; Some files in modello-plugin-java are licensed under a
+ ;; 5-clause BSD license.
+ (license:non-copyleft
+ (string-append "file:///modello-plugins/modello-plugin-java/"
+ "src/main/java/org/codehaus/modello/plugin/"
+ "java/javasource/JNaming.java"))))))
+
(define-public java-asm
(package
(name "java-asm")
--
2.16.2
next prev parent reply other threads:[~2018-02-24 21:12 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-02-10 22:48 [bug#30417] [PATCH] java-plexus and java-modello Julien Lepiller
2018-02-10 23:04 ` [bug#30417] [PATCH 01/11] gnu: Add java-plexus-component-annotations Julien Lepiller
2018-02-11 23:36 ` Björn Höfling
2018-02-10 23:04 ` [bug#30417] [PATCH 02/11] gnu: Add java-plexus-cipher Julien Lepiller
2018-02-11 23:42 ` Björn Höfling
2018-02-10 23:04 ` [bug#30417] [PATCH 03/11] gnu: Add java-plexus-compiler-api Julien Lepiller
2018-02-11 23:47 ` Björn Höfling
2018-02-14 19:18 ` Björn Höfling
2018-02-10 23:04 ` [bug#30417] [PATCH 04/11] gnu: Add java-plexus-compiler-javac Julien Lepiller
2018-02-14 19:23 ` Björn Höfling
2018-02-10 23:04 ` [bug#30417] [PATCH 05/11] gnu: Add java-sisu-build-api Julien Lepiller
2018-02-14 19:53 ` Björn Höfling
2018-02-10 23:04 ` [bug#30417] [PATCH 06/11] gnu: Add java-modello-core Julien Lepiller
2018-02-14 20:22 ` Björn Höfling
2018-02-14 21:56 ` Julien Lepiller
2018-02-16 19:16 ` Björn Höfling
2018-02-17 15:06 ` Marius Bakke
2018-02-24 21:11 ` Julien Lepiller [this message]
2018-02-24 21:20 ` Marius Bakke
2018-02-10 23:04 ` [bug#30417] [PATCH 07/11] gnu: Add java-modello-plugins-java Julien Lepiller
2018-02-14 20:34 ` Björn Höfling
2018-02-10 23:04 ` [bug#30417] [PATCH 08/11] gnu: Add java-modello-plugins-xml Julien Lepiller
2018-02-14 20:37 ` Björn Höfling
2018-02-10 23:04 ` [bug#30417] [PATCH 09/11] gnu: Add java-modello-test Julien Lepiller
2018-02-14 20:39 ` Björn Höfling
2018-02-10 23:04 ` [bug#30417] [PATCH 10/11] gnu: Add java-modello-plugins-xpp3 Julien Lepiller
2018-02-14 20:43 ` Björn Höfling
2018-02-10 23:04 ` [bug#30417] [PATCH 11/11] gnu: Add java-plexus-sec-dispatcher Julien Lepiller
2018-02-14 20:59 ` Björn Höfling
2018-02-14 21:02 ` Björn Höfling
2018-02-25 11:08 ` bug#30417: [PATCH] java-plexus and java-modello Julien Lepiller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180224221108.63006124@lepiller.eu \
--to=julien@lepiller.eu \
--cc=30417@debbugs.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).