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 Mon, 28 Jan 2013 12:38:46 GMT
The files should be fine now except for the engine plugin. Here, the 
sources.jar has an unneccessary mention of the libs and the binaries 
have additional files LICENSE.txt and NOTICE.txt. I think that good 
enough for the next RC.

The changes are not very nice, but I have not found a better way to do 
it right now.

Peter


On 27.01.2013 14:35, Peter Klügl wrote:
> 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