uima-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Peter Klügl <pklu...@uni-wuerzburg.de>
Subject Re: [VOTE] Apache UIMA TextMarker Release Candidate 1
Date Sun, 27 Jan 2013 13:35:45 GMT
Am 26.01.2013 01:31, schrieb Marshall Schor:
> On 1/25/2013 12:59 PM, Peter Klügl wrote:
>> The binaries and the top level (release) sources look fine now, but I have a
>> problem with the individual sources.
>>
>> Can someone give me a hint how to get a customized LICENSE file into the
>> sources in our build?
>> Or, a pointer how the LICENSE file is included by the maven-source-plugin.
>> Anything I did was either ignored or overridden.
> Whoops!
>
> I'm thinking more now...  This is the "source-release", right?  That
> distribution is unlikely to have any content other than Apache Licensed content,
> since it only includes the sources, right?  So it would be incorrect to put in
> the LICENSE/NOTICE that goes with the binary builds (which incorporate
> dependencies from other places with other LICENSE/NOTICEs perhaps).
>
> So the "standard" LICENSE/NOTICE should be fine here?
>
> Or did I misunderstand something?

I think we have three kinds of files:
1. binary jars of each java project
2. source-release of the top level project
3. sources jars for each java project

I found a not-so-nice workaround for the first one. The second one works 
already since it has NOTICE/LICENSE files in its root. The archive then 
only contains these files in its root, but no other NOTICE/LICENSE files 
in its subfolders, which is OK if all licenses are covered I think. As I 
understand it, the archive has to contain the icons since its content 
should be able to be compile to the binaries. The last one is currently 
the problem. It only contains the default NOTICE/LICENSE files, which 
seems to be enough. However, the source jars for Eclipse plugins contain 
also the icons, which use a different license.

Either the icons do not need to be shipped in the sources jars or we 
have to extend the NOTICE/LICENSE files in these jars. However, I have 
not found a way to implement the second option.

Is the "source-release" you mentioned also responsible for the the 
default NOTICE/LICENSE files in the plugin-sources.jar files?

Peter




> -Marshall
>
>> Peter
>>
>> On 25.01.2013 16:35, Marshall Schor wrote:
>>> hi - I'm digging into this.
>>>
>>> Here's what I've found so far (taking the uimaj-ep-configurator project as a
>>> sample).
>>>
>>> The build process chain includes early on the maven-remote-resources plugin.
>>> This fetches "standard" things from a standard place for the license and notice
>>> files, puts them into
>>> .../target/maven-shared-archive-resources.
>>>
>>> The maven-remote-resources plugin runs "velocity" macro expansion; this allows
>>> inserting at build time extra stuff.  Our Notice template (in
>>> build/trunk/uima-build-resources/src/main/resources/META-INF/NOTICE.vm) is a
>>> slight modification from the Apache-wide Notice template, in that it has an
>>> extra bit at the bottom that says, if the maven property
>>> "project.properties.postNoticeText" is set, then insert it.  We use this to
>>> modify the Notice file for things which originally had IBM copyrights which were
>>> moved to the notice file.
>>>
>>> The documentation for the maven-remote-resources plugin says the goal we're
>>> using ("process") after running the velocity macro expansion on the resources,
>>> they "are injected into the current (in-memory) Maven project, making them
>>> available to the process-resources phase."
>>>
>>> What you have to know to have this make sense, is that if you have
>>> (subsequently) an invocation of the maven-resources-plugin with the "resources"
>>> goal, running in the "process-resources" phase, then that will copy the files
in
>>> .../target/maven-shared-archive-resources into the .../target/classes spot -
so
>>> the eventual JAR plugin will package these (it Jars up everything it finds in
>>> the .../target/classes directory).
>>>
>>> So, that's how the files get to the right spot in the Jar.
>>>
>>> I think our current build process is lacking the ability to do customization
of
>>> the LICENSE file prototype.  We could modify that, to work just like the Notice
>>> file works, to allow extending the standard LICENSE with arbitrary text.  We
>>> might want to do something different, though, in the case of large modifications
>>> to the standard LICENSE / NOTICE files.  One thing that would probably work is
>>> to use a copy-resources kind of step to replace/override the "standard"
>>> LICENSE/NOTICE files in ...target/classes/MEAT-INF with the custom ones from
>>> some standard spot (I would suggest using the same spot as you already used).
>>>
>>> =====================
>>>
>>> I think the reason this hasn't come up before, is that the JARs we built did
not
>>> (normally) contain other Jars that needed special LICENSE/NOTICE files.  The
>>> things that did have that need were normally zip and tar assemblies of JARs,
>>> where we used the assembly plugin to do this packaging.
>>>
>>> I haven't looked to see what the case is with your packaging - if you're using
>>> Assembly, then there are other conventions involving the instructions you were
>>> following.  My guess is that you're not using assembly, so those instructions
>>> don't help.
>>>
>>> =====================
>>>
>>> Let me know if you need help in doing something like this...
>>>
>>> -Marshall
>>>
>>> On 1/25/2013 8:40 AM, Peter Klügl wrote:
>>>> On 25.01.2013 14:02, Jörn Kottmann wrote:
>>>>> On 01/25/2013 01:13 PM, Peter Klügl wrote:
>>>>>> If I undestand that correctly, then I have to remove ANTLR and htmlparser
>>>>>> from the NOTICE/LICENSE in the top level project since they are both
not
>>>>>> part of the source release. Then, I have to add NOTICE/LICENSE files
(with
>>>>>> ANTLR and htmlparser) to src/main/readme/ in the top level project
and to
>>>>>> the uimaj-ep-textmarker-engine project since those two binaries will
contain
>>>>>> the third party libraries. The other plugins also need their own
>>>>>> NOTICE/LICENSE files in src/main/readme/ since they contain the icons.
Is
>>>>>> that correct? Is there a shortcut, something that influences maven
what to
>>>>>> put in those files, or which file to copy?
>>>>> +1, sounds good.
>>>> Unfortunately, this did not work. I added individual LICENSE/NOTICE files
to
>>>> src/main/readme in uimaj-ep-textmarker-engine but the binary just contains
the
>>>> default files and additionally files with ".txt" extension and the same
>>>> content. The -sources jar contains also only the default files.
>>>>
>>>> Any ideas?
>>>>
>>>> Peter
>>>>
>>>>
>>>>
>>>>> Jörn
>>


Mime
View raw message