4.0.0
pl.topteam
pomost
GP-1.04-2-13-20191027
war
TT-POMOC - dłuższe aktualizacje
2019-09-30
0
${channel}
${channel}
yyyyMMdd-HHmmss
1.8
1.8
UTF-8
UTF-8
Mantis
http://support.top-team.pl/
http://www.top-team.pl/
Top-Team TT Sp. z o.o.
https://www.top-team.pl/
scm:git:ssh://repo.ttserver.pl//srv/git/pomost/pomost-aktualizacje.git
scm:git:ssh://scm@repo.ttserver.pl//srv/git/pomost/pomost-aktualizacje.git
GP-1.04-2-13-20191027
ftp-repository
ftp://top-team.home.pl/pub/channels/${project.deploy.channel}
pl.topteam
tt_application-core
2.1.1
javax.servlet
javax.servlet-api
3.1.0
provided
javax.servlet.jsp
jsp-api
2.2.1-b03
provided
javax.el
el-api
2.2.1-b04
provided
jstl
jstl
1.2
org.apache.maven.wagon
wagon-ftp
3.3.2
org.codehaus.mojo
build-helper-maven-plugin
3.0.0
org.codehaus.gmaven
groovy-maven-plugin
2.1
org.codehaus.groovy
groovy-all
2.4.17
org.apache.maven.plugins
maven-enforcer-plugin
3.0.0-M2
org.codehaus.mojo
extra-enforcer-rules
1.0-beta-7
org.apache.maven.plugins
maven-resources-plugin
3.1.0
org.apache.maven.plugins
maven-war-plugin
3.2.3
org.apache.maven.plugins
maven-scm-plugin
1.9.5
org.apache.maven.plugins
maven-compiler-plugin
3.8.1
org.apache.maven.plugins
maven-war-plugin
true
${project.name}
${project.build.channel}
${project.version}
${maven.build.timestamp}
${excludes}
true
org.apache.maven.plugins
maven-javadoc-plugin
3.1.0
true
org.apache.maven.plugins
maven-source-plugin
3.0.1
true
org.apache.maven.plugins
maven-install-plugin
2.5.2
true
org.apache.maven.plugins
maven-deploy-plugin
3.0.0-M1
org.apache.maven.plugins
maven-release-plugin
2.5.3
org.apache.maven.scm
maven-scm-provider-gitexe
1.9.5
false
true
@{project.version}
release
scm@repo.ttserver.pl
nexus-releases
http://ttprogramy.pl/nexus/content/repositories/releases/
true
false
nexus-snapshots
http://ttprogramy.pl/nexus/content/repositories/snapshots/
false
true
tt-archiva-repository-internal
http://ttprogramy.pl/apache-archiva/repository/internal/
true
false
ttserver-snapshots
http://m2.ttserver.pl/content/repositories/snapshots/
false
true
eclipse
tmp
20190101-090000
0101010
sign
true
org.apache.maven.plugins
maven-jarsigner-plugin
3.0.0
${keystore.type}
${keystore.path}
${keystore.alias}
${keystore.store.password}
${keystore.key.password}
sign-war
sign
verify-signed-war
verify
thin
false
WEB-INF/lib/*.jar
org.apache.maven.plugins
maven-enforcer-plugin
enforcements-in-thin-war
validate
enforce
release
Aktywuj dodatkowo profil 'release'!
home-releases
ftp://top-team.home.pl/pub/channels/${project.deploy.channel}
fat
false
org.apache.maven.plugins
maven-enforcer-plugin
enforcements-in-fat-war
validate
enforce
release
Aktywuj dodatkowo profil 'release'!
home-releases
ftp://top-team.home.pl/pub/bundles/${project.deploy.channel}
uuid
uuid
true
home-releases
ftp://top-team.home.pl/pub/channels/${project.deploy.channel}
org.apache.maven.plugins
maven-enforcer-plugin
enforcements-in-uuid-war
validate
enforce
release
Aktywuj dodatkowo profil 'release'!
org.apache.maven.plugins
maven-war-plugin
WEB-INF/lib/*.jar
org.codehaus.gmaven
groovy-maven-plugin
commons-net
commons-net
3.6
install
execute
import org.apache.commons.net.ftp.FTPClient
distributionManagement = project.distributionManagement
repository = distributionManagement.repository
server = settings.getServer(repository.id)
username = server.username
password = server.password
uuid = UUID.randomUUID().toString()
uri = URI.create(repository.url + uuid)
new FTPClient().with {
connect uri.host
login username, password
makeDirectory uri.path
disconnect()
}
project.snapshotArtifactRepository?.url = uri
project.releaseArtifactRepository?.url = uri
release
false
org.apache.maven.plugins
maven-enforcer-plugin
warnings-in-war
initialize
enforce
false
true
1.8
enforcements-in-war
initialize
enforce
channel
Określ kanał (-Dchannel=), którym dystrybuowana będzie aplikacja (np. stable, dev, tmp, mrpips)
git-hash
Określ zmienną 'git-hash' (-Dgit-hash=) wskazującą na commit, z którego tworzona jest aktualizacja (7 początkowych cyfr albo cały hash)!
enforcements-in-installed-deployed
install
enforce
Niedopuszczalne są zależności typu SNAPSHOT!
Musi zostać określona wersja aplikacji (w pom.xml)! Niedopuszczalna jest publikacja wersji SNAPSHOT!
org.codehaus.mojo
extra-enforcer-rules
1.2
org.codehaus.gmaven
groovy-maven-plugin
release-parameters
initialize
execute
final String SNAPSHOT = '-SNAPSHOT'
Properties releaseProps = new Properties()
File releasePropsFile = new File('release.properties')
String pomVersion = '${project.version}'.replace(SNAPSHOT, '')
String[] vNumbers = pomVersion.split('-')
String releaseVersion = vNumbers[0] + '-' + vNumbers[1] + '-' + vNumbers[2] + '-' + (Integer.parseInt(vNumbers[3]) - 1)
if (project.properties['project.build.channel'] == 'stable') {
releaseVersion += '-' + project.properties['project.build.wpo']
releaseVersion += '-' + new Date().format("yyyyMMdd")
} else if (project.properties['project.build.channel'] == 'mpips') {
// nic nie dodajemy do podstawowego numeru wersji
} else {
releaseVersion += '-' + new Date().format("yyyyMMdd")
}
final List activeProfiles = project.activeProfiles.stream().map{p -> p.id}.collect()
if (activeProfiles.contains("uuid")) {
releaseVersion += '-' + new Date().format("HHmmss")
}
String snapshotVersion = pomVersion + SNAPSHOT
releaseProps.setProperty('scm.tag', releaseVersion)
releaseProps.setProperty('project.rel.${project.groupId}:${project.artifactId}', releaseVersion)
releaseProps.setProperty('project.dev.${project.groupId}:${project.artifactId}', snapshotVersion)
releaseProps.store(releasePropsFile.newWriter(), null)