I've been working on this, see PORTALS-14.

I updated to use the portals 1.1 pom now under vote. I have some comments in that thread.

It may or may not be a good idea, but I updated the names to portlet- api_x.0_spec with version 1.0-SNAPSHOT for both specs. If we don't like it we can change it back.

I added use of the felix bundle plugin for osgi metadata. It is generating different info than the hand-supplied info previously in the 2.0 spec. Here's what the bundle plugin comes up with:

Manifest-Version: 1.0
Export-Package: javax.portlet.filter;uses:="javax.portlet,org.w3c.dom,
 javax.servlet.http,javax.xml.namespace";version="1.0.0.SNAPSHOT",java
 x.portlet;uses:="org.w3c.dom,javax.servlet.http,javax.xml.namespace";
 version="1.0.0.SNAPSHOT"
Implementation-Title: Java Portlet Specification V2.0
Implementation-Version: 1.0-SNAPSHOT
Tool: Bnd-0.0.227
Bundle-Name: portlet-api_2.0_spec
Created-By: 1.6.0_07 (Apple Inc.)
Bundle-Vendor: Apache Software Foundation
Bundle-Version: 1.0.0.SNAPSHOT
Bnd-LastModified: 1241824729053
Bundle-ManifestVersion: 2
Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.html
Bundle-Description: The Java Portlet API version 2.0 developed by the
 Java Community Process JSR-286 Expert Group.
Import-Package: javax.portlet;version="1.0.0.SNAPSHOT",javax.portlet.f
 ilter;version="1.0.0.SNAPSHOT",javax.servlet.http,javax.xml.namespace
 ,org.w3c.dom
Bundle-SymbolicName: javax.portlet.portlet-api_2.0_spec
Bundle-DocURL: http://portals.apache.org/

Here's the manually constructed manifest:

Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Created-By: Apache Maven
Built-By: david
Build-Jdk: 1.6.0_07
Specification-Title: Java Portlet Specification V2.0
Specification-Version: 1.0-SNAPSHOT
Specification-Vendor: Apache Software Foundation
Implementation-Title: Java Portlet Specification V2.0
Implementation-Version: 1.0-SNAPSHOT
Implementation-Vendor-Id: javax.portlet
Implementation-Vendor: Apache Software Foundation
Bundle-DocURL: http://www.jcp.org/en/jsr/detail?id=286
Bundle-ManifestVersion: 2
Bundle-Name: JSR 286
Bundle-SymbolicName: javax.portlet
Bundle-Version: 2.0
Export-Package: javax.portlet;version="2.0.0",
                   javax.portlet.filter;version="2.0.0"
Import-Package: org.w3c.dom,
                   javax.xml.namespace,
                   javax.servlet.http; version="2.4.0"


I'm not enough of an osgi expert to completely understand these but..... there are some obvious problems with the felix-generated entries in the version of import/exports. However at this point I'd like to investigate what's going on with this a bit more before recommending one or the other approach.

thanks
david jencks

On May 8, 2009, at 12:55 AM, Ate Douma wrote:

Hi David,

First of all, thanks again for helping out on this!

I have some inline comments below.

Regards,

Ate

David Jencks wrote:
See https://issues.apache.org/jira/browse/PORTALS-12 and 
https://issues.apache.org/jira/browse/PORTALS-13
portlet 2.0:
I removed the ibm copyrights from the source files and the license.txt file and added the copyright notice to the NOTICE file. I added the portals-pom as parent and used the maven-remote- resources plugin to generate the LICENSE and NOTICE files. I also added the LICENSE and NOTICE files to the root of the svn source.
portlet 1.0:
I changed the license header from apache 1.1 to the current header, allowing its release post- march-2004 :-). I also added the portals-pom as parent and used the maven-remote-resources plugin to generate the requred LICENSE and NOTICE files, and added these at the root of svn source.
Other stuff I think needs to happen:
1. remove the portlet.xml.txt files unless they serve some actual purpose.
+1, I don't see any purpose at all.
It is just an example portlet.xml which I think accidentally landed in the source tree.

2. in 2.0, remove the statement that the spec is provisional found in every file
+1

3. remove the portal-site src and pom completely, use the maven generated site instead for each spec level.
We have some other plans about site management for all of portals by moving that out of the main release cycle svn trees for each project and instead maintain it separately (without trunk/tags folders) based off /portals/site, with a master portals-site pom and sub projects inherit from it (but not necessarily as parent pom modules as maven-site plugin is too broken to deal with that correctly). This does pose a problem for code based generated docs like reports and javadoc, but I think we can and should simply check those in and integrate them manually in the corresponding (sub) project site xdocs. Anyway, I'll write a formal proposal/vote email for doing this for all Portals projects shortly, and then in more detail.

4. make the svn tree look like:
https://svn.apache.org/repos/asf/portals/portlet-spec
 +tags
 \trunk
   +portlet-api-1.0
   \portlet-api-2.0
+1

Somewhat to my surprise we've found this structure to work fine with the geronimo specs and the release plugin.
5. use the felix bundle plugin to insert osgi metadata
+0, we already do this for portlet-api-2.0 within the pom itself, not sure if more is needed here.
I guess Carsten might have some additional ideas about this.

6. remove just about everything from the poms and use the release profile instead
+1, we're about to provide a vote on an updated portals-pom-1.1 which will use apache 6 pom

7. make the portals-pom specify use of m-r-r-plugin always.
You mean maven-remote-resources-plugin, right?
Probably +1, haven't reviewed in detail what possible side-effects that could have though.

8 update portals-pom to use apache 6 pom as soon as it's available.
See above, and FYI: apache 6 pom is already released and available

9. (maybe) maybe I'm biased :-) but I prefer to use geronimo servlet specs because I know a bit about their quality. I'd rather build against the geronimo servlet 2.5 spec even though it's uplevel for what's needed than the 2.3 and 2.4 servlet specs that I don't know much about.
-1
Not all end users are using a servlet 2.5 container yet, and adding a dependency on that could cause problems if they inadvertently then would use features from that not supported in their runtime environment.

If everyone agrees these are good changes I think I could find the time to do them soon. I'd also be happy if someone else does them :-)
Whoever gets there first :)
You're very welcome to help out further with this, much appreciated.

thanks
david jencks
On May 6, 2009, at 1:00 PM, Ate Douma wrote:
David Jencks wrote:
My manager thinks it's OK for me, as an IBM employee, to update the sources to conform with apache standards, I will try to get to it today or tomorrow.
Cool!

Thanks for helping out with this David.

Regards,

Ate

thanks
david jencks
On May 4, 2009, at 4:35 PM, David Jencks wrote:
Hi Ate,

I haven't heard back from my manager yet, I pinged him again. I think it's ok to add the apache license header for now, but it would definitely be better to get it fixed, especially as the existing license.txt file does not contain a license at all.

thanks
david jencks

On May 4, 2009, at 3:26 AM, Ate Douma wrote:

David Jencks wrote:
On Apr 18, 2009, at 1:37 PM, Ate Douma wrote:

<snip/>


In addition, there is this license.txt within the source tree containing the following:

� Copyright IBM Corp. 2006, 2007
All rights reserved.

Should that file remain or maybe should we move that statement to our NOTICE.txt instead?

Furthermore, every portlet-api-2.0 source file also contains the "Copyright 2006 IBM Corporation." in the header.
IIUC the recommended route is to move these copyright notices to the NOTICE file. However someone from IBM has to do it. I'm from IBM but right now I wouldn't be comfortable removing them without input from at least one author or IBM legal. I'll ask my boss and see what happens.

David Jencks, do you have any feedback on this issue?
I'd like to move forward with this proposal ASAP but its a little unclear to me how we can and/or are allowed to proceed now.

I would think at least we are allowed to *add* the ASF licence header to the sources while (for now) retaining the the IBM copyright notices therein. And the license.txt file I would think should be fine to be removed when we move the content to our own NOTICE file. The remaining question for me is, should we only provide the standard ASF LICENSE file, or should that in addition *also* contain the content of the original IBM license.txt?

Thanks,

Ate



Note that none of such copyright statements are found in the portlet-api-1.0 source, not even from SUN. On the other hand, the portlet-api-1.0 sources do have the ASF 1.1 license header, not the 2.0 license header. I'm not too familiar with what is required when a new release is put out, but I think if we would do this, those need to be replaced with ASF 2.0 license headers now, right?
yes, and I think we can do that without any legal arguments from anyone.
thanks
david jencks


Regards,

Ate

Carsten










Reply via email to