[cle-release-team] Important information for trunk developers (SNAPSHOT artifacts)

Charles Hedrick hedrick at rutgers.edu
Fri Apr 27 06:14:26 PDT 2012


I'll fix it. One of my staff just uploaded a patch. I'm guessing he had the wrong pom file. Yesterday was his last day, so any future mistakes are mine.

On Apr 27, 2012, at 8:41 AM, Aaron Zeckoski <azeckoski at unicon.net> wrote:

> Looks like it to me.
> -AZ
> 
> 
> On Fri, Apr 27, 2012 at 8:38 AM, Maurer, Christopher Wayne
> <chmaurer at iupui.edu> wrote:
>> My trunk-all build is failing on lessonbuilder.  Looks like it's set for a
>> master of 2.9-SNAPSHOT.  I imagine that should be updated to be
>> 2.10-SNAPSHOT?
>> 
>> Chris
>> 
>> From: Matthew Jones <matthew at longsight.com>
>> Date: Thursday, April 26, 2012 8:45 PM
>> To: "cle-release-team at collab.sakaiproject.org"
>> <cle-release-team at collab.sakaiproject.org>, dev sakai
>> <sakai-dev at collab.sakaiproject.org>
>> Subject: [cle-release-team] Important information for trunk developers
>> (SNAPSHOT artifacts)
>> 
>> Just as a (short) notice to developers:
>> 
>> A few issues were discussed on this mornings release call. This is mainly
>> for developers working on Sakai CLE trunk, and those who have contrib tools
>> that they are expecting to work on 2.9+.
>> 
>> There were two potential problems which I've resolved tonight that may cause
>> you some issues with your local work.
>> 
>> Quick summary:
>> - If you're using https://source.sakaiproject.org/svn/sakai/trunk/ use
>> https://source.sakaiproject.org/svn/sakai/branches/sakai-trunk-all/ instead.
>> 
>> 1) Sakai 2.10-SNAPSHOT artifacts seemed to still be downloaded even though
>> newer ones were built. It was unsure if this was because of maven version
>> (mvn3 is recommended for trunk development) but as a short term solution,
>> all 2.10 SNAPSHOTS were removed from all repositories and no new artifacts
>> for 2.10 will be deployed.
>> 
>> This means that right
>> now https://source.sakaiproject.org/svn/sakai/trunk/ will probably if you
>> have a clean local repository and will be out of date quickly.
>> You should instead
>> use https://source.sakaiproject.org/svn/sakai/branches/sakai-trunk-all/.
>> We'll very likely switch trunk with trunk-all.
>> 
>> What this does for you is downloads everything it needs from Sakai rather
>> than downloading assemblies from core-deploy. These assemblies don't
>> entirely make sense in trunk anyway because it changes so often. These
>> assemblies will still be present for Sakai 2.9 and no changes are intended
>> for 2.9 at least until the conference.
>> 
>> Quick summary:
>> - If you have an indie, switch parent from purepoms to master. If you have
>> some apis dependencies inherited through compile scope, these might be
>> overridden by dependencyManagement in master so you may need to define more
>> dependencies.
>> 
>> 2) Purepoms were removed from 2.9 and trunk after 2.9.0-b03 a few months
>> ago. If your contrib tool still uses a purepoms for 2.9 or 2.10 snapshot it
>> will no longer be able to find these artifacts.
>> (https://jira.sakaiproject.org/browse/SAK-21564) Old artifacts for
>> 2.9-SNAPSHOT and 2.10-SNAPSHOT were in
>> source.sakaiproject.org/maven2-snapshots. These artifacts were up to 5
>> months old. We had changed to deploying all artifacts releases and snapshots
>> to maven central/sonatype, so if your tool had this repository defined you
>> need to update it.
>> 
>> Ideally your tool can use a fixed release version of 2.9 (like 2.9.0-b05).
>> That would be ideally what your parent looks like:
>> 
>>    <parent>
>>        <groupId>org.sakaiproject</groupId>
>>        <artifactId>master</artifactId>
>>        <version>2.9.0-b05</version>
>>    </parent>
>> 
>> You can use the version 2.9-SNAPSHOT which is in the repository, but
>> 2.10-SNAPSHOT currently would require your users to download and build
>> sakai-trunk-all to use. (As mentioned in Step #1)
>> 
>> It was also noticed that some projects had dependencies defined in their
>> "api's" with no scope defined (so it got compile) and when the api was a
>> dependency in something else (like the impl or the tool) those other
>> dependencies would be pulled in as transisitive dependencies. However, since
>> all api's are now defined in the master dependencyManagement as "provided",
>> your tools dependencies may have to have these api's  explicitly defined.
>> 
>> Confused?
>> 
>> Say you're the dashboard project and you used to inherit from purepoms.
>> Switching to master alone will cause some dependencies to not be found. This
>> is because in the dashboard-api there is:
>> 
>> 	    <dependency>
>> 		    <groupId>org.sakaiproject.assignment</groupId>
>> 		    <artifactId>sakai-assignment-api</artifactId>
>> 	        <version>${sakai.version}</version>
>> 	    </dependency>
>> 
>> After switching to master, this scope becomes "provided" instead of
>> "compile" as it isn't defined here, and it won't work when you include it in
>> impl. So you'd need to define these as provided in impl.
>> https://source.sakaiproject.org/viewsvn/longsight/dashboard/trunk/impl/pom.xml?root=contrib&r1=79394&r2=79398
>> 
>> _______________________________________________
>> cle-release-team mailing list
>> cle-release-team at collab.sakaiproject.org
>> http://collab.sakaiproject.org/mailman/listinfo/cle-release-team
>> 
> 
> 
> 
> -- 
> Aaron Zeckoski - Software Architect - http://tinyurl.com/azprofile




More information about the cle-release-team mailing list