...
Local
...
build
...
machine
...
environment
...
- Check
...
- out
...
- 2.5.3
...
- branch
...
- clean
...
- Tomcat
...
- 5.5.26
...
- empty
...
- .m2/repository/org/sakaiproject
...
- new
...
- MySQL
...
- 5.0.51
...
- sakai
...
- db
...
- Confirm
...
- maven-taglib
...
- is
...
- defined
...
- in
...
- .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
...
...
*/
...
-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.