Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Local

...

build

...

machine

...

environment

...

  1. Check

...

  1. out

...

  1. 2.5.3

...

  1. branch

...

  1. clean

...

  1. Tomcat

...

  1. 5.5.26

...

  1. empty

...

  1. .m2/repository/org/sakaiproject

...

  1. new

...

  1. MySQL

...

  1. 5.0.51

...

  1. sakai

...

  1. db

...

  1. Confirm

...

  1. maven-taglib

...

  1. is

...

  1. defined

...

  1. in

...

  1. .M2/settings.xml

...

}
No Format
<!-- Reference plugins in order to use <goalPrefix> short-hand -->
<pluginGroups>
    <pluginGroup>net.sourceforge.maven-taglib</pluginGroup>
</pluginGroups>
{noformat}

h3. Tag preparation

h5. Create 

Tag preparation

Create .externals_2-5-xto2-5-3

...

file

...

Do

...

this

...

for

...

people

...

interested

...

in

...

what

...

2-5-x

...

project

...

revisions

...

were

...

used

...

to

...

intitially

...

build

...

the

...

2.5.3

...

branch.

...

No Format
svn add .externals_2-5-xto2-5-3
svn commit -m "add .externals_2-5-xto2-5-3"
{noformat}

h5. 
sakai.properties

...

1.

...

Update

...

component/component-api/component/src/config/org/sakaiproject/config/sakai.properties

...

updating version.service

...

,

...

version.sakai

...

and

...

uncommenting

...

stealthToolsstealthTools@org.sakaiproject.tool.api.ActiveToolManager

...

.

...

Commit

...

changes.

...

}
No Format
version.service=RELEASE
version.sakai=2.5.3
. . .
# STEALTH TOOLS.  A stealth tool is a tool that is running in Sakai, but is not available to be added to a site in Worksite Setup.
# For Development/QA purposes stealthTools property will be commented out; release artifacts will have the property uncommented.
stealthTools@org.sakaiproject.tool.api.ActiveToolManager=blogger,sakai.messagecenter,sakai.podcasts,sakai.postem,sakai.rutgers.linktool,sakai.rutgers.testlink,sakai.search,sakai.site.roster

{noformat}

2.

...

Update

...

reference/docs/sakai.properties

...

version.service

...

and

...

version.sakai

...

.

...

Make

...

sure

...

stealthedTools

...

property

...

is

...

commented

...

out

...

(i.e.,

...

enabling

...

all

...

provisional

...

tools

...

for

...

the

...

demo).

...

Commit

...

changes.

...

}
No Format
version.service=DEMO
version.sakai=2.5.3
{noformat}

h5. favicon

Replace Tomcat 
favicon

Replace Tomcat favicon.ico

...

with

...

Sakai

...

favicon.

...

Add

...

it

...

to

...

reference

...

library.

...

Pack-demo

...

pom.xml

...

snippet

...

below:

...

}
No Format
<!-- Replace the favorite icon from tomcat -->
<copy file="${basedir}/../reference/library/src/webapp/icon/favicon.ico"
tofile="${basedir}/target/pack/webapps/ROOT/favicon.ico"
overwrite="true" />
{noformat}

h5. conversion scripts 
conversion scripts (runconversion.sh)

...

Check

...

for

...

presence

...

of

...

*runconversion.sh

...

(in

...

assignment,

...

content

...

(named

...

content-runconversion.sh,

...

db)

...

and

...

make

...

sure

...

names

...

get

...

trapped

...

by

...

artifact

...

generation

...

script.

...

/master/pom.xml

...

Confirm

...

<distributionManagement>

...

,

...

maven-taglib-plugin

...

,

...

wagon-webdav

...

<build>

...

extensions

...

are

...

in

...

place

...

and

...

that

...

the

...

org.sakaiproject.maven.plugins

...

<version>

...

is

...

set

...

to

...

1.0.

...

Commit

...

changes

...

if

...

necessary.

...

1.

...

<distributionManagement>

No Format
<distributionManagement>
    <repository>
      <uniqueVersion>false</uniqueVersion>
      <id>local</id>
      <name>Local Test</name>
      <url>file:///tmp/maven2</url>
      <layout>default</layout>
    </repository>
    <site>
      <id>local</id>
      <name>Local Test</name>
      <url>file:///tmp/site</url>
    </site>
  </distributionManagement>
{noformat}

2.

...

maven-taglib-plugin

...

No Format
<plugin>
	<groupId>net.sourceforge.maven-taglib</groupId>
	<artifactId>maven-taglib-plugin</artifactId>
	<configuration>
		<goalPrefix>taglib</goalPrefix>
		<taglib.src.dir>src</taglib.src.dir>
		<!-- <taglib.src.dir>src/webapp/WEB-INF</taglib.src.dir> -->
	</configuration>
</plugin>
{noformat}

3.

...

wagon-webdav

...

<build>

...

extension

No Format
<!-- Required for Dav -->
<extensions>
    <extension>
	<groupId>org.apache.maven.wagon</groupId>
	<artifactId>wagon-webdav</artifactId>
        <version>1.0-beta-2</version>
    </extension>
</extensions>
{noformat}

4.

...

org.sakaiproject.maven.plugins

...

Make

...

sure

...

sakai

...

maven

...

plugin

...

<version>

...

value

...

does

...

not

...

get

...

overwritten

...

(e.g.

...

"M2"

...

gets

...

overwritten).

...

It

...

should

...

be

...

1.0

...

or

...

later.

...

No Format
<plugin>
<inherited>true</inherited>
<groupId>org.sakaiproject.maven.plugins</groupId>
<artifactId>sakai</artifactId>
<version>1.0</version>
. . . .
{noformat}

h5. 
/pack-demo/pom.xml

...

Confirm

...

that

...

pack-demo

...

pom

...

includes

...

the

...

binary

...

artifact

...

generation

...

code.

...

entitybroker/pom.xml

...

Remove

...

<distributionManagement>

...

directive

...

which

...

disrupts

...

build

...

process

...

as

...

well

...

as

...

other

...

extraneous

...

definitions.

...

Commit

...

changes.

...

Update .svnignore

...

Add

No Format
Sakai.keystore
sakaiartifactgenerator.sh
{noformat}

Commit

...

changes.

...

WARNING

...

/reference/conversion

...

Review

...

sql

...

conversion

...

scripts,

...

update

...

and

...

commit

...

as

...

necessary.

...

base

...

pom.xml

...

1.

...

Confirm

...

javadoc

...

plugin

...

definition.

...

Should

...

be

...

configured

...

as

...

follows:

...

}
No Format
<plugin>
            <!-- javadocs -->
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <configuration>
               <debug>true</debug>
               <links>
                  <link>http://java.sun.com/j2se/1.5.0/docs/api/</link>
		  <link>http://java.sun.com/j2ee/1.5.0/docs/api/</link>
		  <link>http://static.springframework.org/spring/docs/2.0.8/api/</link>
		  <link>http://java.sun.com/j2ee/javaserverfaces/1.1_01/docs/api/</link>
		  <link>http://jakarta.apache.org/velocity/api/</link>
		  <link>http://www.hibernate.org/hib_docs/v3/api/</link>
		  <link>http://james.apache.org/javadocs/</link>
		  <link>http://james.apache.org/mailet/</link>
               </links>
               <breakiterator>true</breakiterator>
               <verbose>false</verbose>
               <aggregate>true</aggregate>
               <maxmemory>512m</maxmemory>
               <additionalJOption>-J-Xms168m -J-Xmx512m -J-XX:PermSize=128m -J-XX:NewSize=64m</additionalJOption>
               <version>2.3</version>
            </configuration>
         </plugin>
{noformat}

2.

...

Confirm

...

that

...

taglib

...

profile

...

is

...

included.

...

}
No Format
<profile>
      	<id>taglib</id>
      	<modules>
		 <module>gradebook/app/ui</module>
		 <module>help/help-tool</module>
		 <module>jsf/widgets</module>
		 <module>mailtool/mailtool</module>
		 <module>metaobj/metaobj-util/tool-lib</module>
		 <module>msgcntr/messageforums-app</module>
		 <module>osp/common/tool-lib</module>
		 <module>osp/glossary/tool-lib</module>
		 <module>osp/jsf/widgets</module>
		 <module>osp/presentation/tool-lib</module>
		 <module>podcasts/podcasts-app</module>
		 <module>postem/postem-app</module>
		 <module>profile/profile-app</module>
		 <module>roster/roster-app</module>
		 <module>rwiki/rwiki-tool/tool</module>
		 <module>sam/samigo-app</module>
		 <module>sections/sections-app</module>
		 <module>sections/sections-app-util</module>
		 <module>syllabus/syllabus-app</module>
      	</modules>
<profile>
{noformat}

h3.  Update 

Update .externals

...

Check

...

out

...

2.5.3

...

branch

...

.externals

...

to

...

local

...

tag

...

prep

...

folder

...

and

...

update

...

revision

...

numbers

...

to

...

last

...

tag

...

prep

...

commit.

...

This

...

ensures

...

that

...

the

...

next

...

checkout

...

will

...

include

...

all

...

tag

...

prep

...

commits.

...

WARNING:

...

event-shared-deploy

...

pom

...

failed

...

to

...

build.

...

Incorrectly

...

referencing

...

db-base

...

as

...

parent.

...

This

...

was

...

fixed

...

2-5-x

...

r50241

...

but

...

missed

...

when

...

2-5-3

...

was

...

built

...

(event

...

r48404).

...

No

...

other

...

event

...

fixes

...

were

...

missed.

...

Fixed

...

in

...

branch

...

and

...

note

...

for

...

2.5.4.

...

Two

...

project

...

commits:

...

}
No Format
Details: http://source.sakaiproject.org/viewsvn/?view=rev&rev=52299 

Author: arwhyte@umich.edu 
Date: 2008-09-16 17:24:12 -0400 (Tue, 16 Sep 2008) 
New Revision: 52299 

Modified: 
component/branches/sakai_2-5-3/component-api/component/src/config/org/sakaiproject/config/sakai.properties 
Log: 
Stealth prov. tools for release.

Details: http://source.sakaiproject.org/viewsvn/?view=rev&rev=52303 

Author: arwhyte@umich.edu 
Date: 2008-09-16 18:47:19 -0400 (Tue, 16 Sep 2008) 
New Revision: 52303 

Modified: 
event/branches/sakai_2-5-3/event-shared-deploy/pom.xml 
Log: 
Pom fix missed when 2-5-3 branch was created (event -r48404). No other event fixes missed.  
{noformat}

{noformat}
No Format
cd /Users/arwhyte/Development/svn/sakai_tag_prep
svn co -N https://source.sakaiproject.org/svn/sakai/branches/sakai_2-5-3 sakai_2-5-3_branch

Update manually component project only in .externals. Do not run sed and overwrite other projects.

svn propset -F .externals svn:externals .
svn propget svn:externals
svn commit -m "tag prep for next release"
{noformat}

Check

...

out

...

2.5.3

...

branch

...

again

...

and

...

confirm

...

checkout

...

includes

...

all

...

tag

...

prep

...

commits

...

as

...

well

...

as

...

updated

...

.externals.

...

Generate Release artifacts

1. Mount Sakai Maven2 Repo using DAV (https:/source.sakaiproject.org/maven2

...

->

...

/Volumes/maven2).

...

WARNING:

...

create

...

backup

...

folder

...

of

...

maven2

...

so

...

that

...

only

...

one

...

copy

...

operation

...

is

...

required

...

in

...

event

...

of

...

a

...

generation

...

failure.

...


2.

...

Copy

...

sakaiartifactgenerator.sh

...

to

...

local

...

2.5.3

...

branch

...

checkout

...

folder

...

and

...

run

...

No Format
sh sakaiartifactgenerator.sh 2.5.3 storepass keystore
{noformat}

The

...

artifactgenerator

...

script

...

performs

...

the

...

following

...

steps

...

1.

...

clean

...

out

...

previous

...

builds

...


2.

...

clean

...

out

...

target,

...

m2-target,

...

bin

...


3.

...

clean

...

out

...

/tmp/maven2

...

4.

...

updates

...

<version>

...

(M2

...

to

...

2.5.3)

...

in

...


all

...

pom.xml

...


all .classpath

...


all runconversion.sh

...

,

...

also

...

content-runconversion.sh

...

The

...

script

...

pauses

...

to

...

allow

...

the

...

changes

...

to

...

be

...

committed.

...

Once

...

the

...

commits

...

are

...

completed,

...

update

...

the

...

.externals

...

file

...

(all

...

projects)

...

to

...

r52308

...

in

...

preparation

...

for

...

cutting

...

the

...

final

...

release

...

tag.

...

sed

...

-e

...

"s/

...

-r

...

0-9

...

*/

...

-r52308/"

...

<.externals

...

>.externals.tmp

...


cp

...

.externals.tmp

...

.externals

...


rm

...

-f

...

.externals.tmp

...

svn

...

propset

...

-F

...

.externals

...

svn:externals

...

.

...


svn

...

propget

...

svn:externals

...


svn

...

commit

...

-m

...

"tag

...

prep

...

for

...

next

...

release"

...

Resume

...

script

...

run.

...

5.

...

tar

...

up

...

the

...

source

...


6.

...

perform

...

the

...

following mvn actions:

No Format
mvn actions:install (in /master mvn install)
mvn -Ppack-demo install -Dkeystore=${location}/Sakai.keystore -Dalias=sakai -Dstorepass=${KEYSTOREPASS}
mvn install source:jar source:test-jar deploy -Dkeystore=${location}/Sakai.keystore -Dalias=sakai -Dstorepass=${KEYSTOREPASS}
mvn javadoc:javadoc
mvn -Ptaglib taglib:taglibdocjar deploy

where ${KEYSTOREPASS} is the keystore password and Sakai.keystore contains the certificates.

7.

...

then

...

package

...

up

...


the

...

maven

...

repo

...

in

...

/tmp/maven2

...


the

...

javadoc

...


the

...

sakai-demo

...

and

...

sakai-bin

...

artifacts

...


the

...

taglibsdocs

Signing the Samigo audio jar. Uncomment the maven-jar-plugin.

...

Comment

...

out

...

<keystore>,

...

<alias>

...

and

...

<storepass>.

...

DO

...

NOT

...

COMMIT.

...

}
No Format

    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>

        <artifactId>maven-jar-plugin</artifactId>
        <executions>
           <execution>
              <goals>
                 <goal>sign</goal>
              </goals>
           </execution>
        </executions>
        <configuration>
<!--
           <keystore>/somepath/your.keystore</keystore>
           <alias>youralias</alias>
           <storepass>yourpassword</storepass>
-->
           <verify>true</verify>
        </configuration>
      </plugin>
    </plugins>
{noformat}


h3.  Update Sakai Maven2 repo

1.  Make backup copy of current 

Update Sakai Maven2 repo

1. Make backup copy of current /org/sakaiproject

...

folder

...

where

...

x.x.x

...

equals

...

the

...

previous

...

Sakai

...

release

...

number.

...

}
No Format
sudo cp -R sakaiproject sakaiproject.x.x.x
{noformat}

h3.  Generate checksums .x.x

Generate checksums (example)

...

}
No Format
md5sum sakai-bin-2.5.3.tar.gz > sakai-bin-2.5.3_tar_gz.md5
{noformat}

h3. CutCut release tag from 

CutCut release tag from 2.5.3

...

branch

release tag from 2.5.3

...

branch

Build release page

Make sure that external links to Confluence release pages are updated.