[Building Sakai] Important information for trunk developers (SNAPSHOT artifacts)

Jean-Francois Leveque jean-francois.leveque at upmc.fr
Fri Apr 27 02:34:37 PDT 2012


The trunk builds of http://nightly2.sakaiproject.org/ are now broken.

On 27/04/2012 02:45, Matthew Jones wrote:
> 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
> <http://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
> <https://source.sakaiproject.org/viewsvn/longsight/dashboard/trunk/impl/pom.xml?root=contrib&r1=79394&r2=79398>


More information about the sakai-dev mailing list