Skip to content

Commit 12f6034

Browse files
committed
Added build configuration
0 parents  commit 12f6034

17 files changed

Lines changed: 1113 additions & 0 deletions

.github/workflows/build.yml

Lines changed: 178 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,178 @@
1+
name: Build
2+
3+
on:
4+
push:
5+
branches:
6+
- 'main'
7+
tags:
8+
- 'v*'
9+
pull_request:
10+
11+
env:
12+
# needed to access our GitHub Maven repository
13+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
14+
MAVEN_OPTS: "-Dhttps.protocols=TLSv1.2 -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=WARN -Dorg.slf4j.simpleLogger.showDateTime=false -Djava.awt.headless=true"
15+
16+
jobs:
17+
dependency-resolution:
18+
runs-on: ubuntu-latest
19+
20+
steps:
21+
- uses: actions/checkout@v4
22+
with:
23+
submodules: recursive
24+
fetch-depth: 0
25+
26+
- name: Cache local Maven repository
27+
id: cache
28+
uses: actions/cache@v3
29+
with:
30+
path: ~/.m2/repository
31+
key: maven-${{ hashFiles('**/pom.xml') }}
32+
restore-keys: |
33+
maven-
34+
35+
- name: asdf_install
36+
uses: asdf-vm/actions/install@v3
37+
if: steps.cache.outputs.cache-hit != 'true'
38+
39+
- name: download dependencies
40+
id: download-dependencies
41+
run: |
42+
export JAVA_HOME=$(asdf where java)
43+
./mvnw -B de.qaware.maven:go-offline-maven-plugin:1.2.8:resolve-dependencies
44+
if: steps.cache.outputs.cache-hit != 'true'
45+
46+
deploy_maven:
47+
permissions: write-all
48+
needs: dependency-resolution
49+
runs-on: ubuntu-latest
50+
if: github.ref_type == 'tag' || github.ref_name == 'main'
51+
52+
steps:
53+
- name: Strip version prefix
54+
id: strip-version-prefix
55+
uses: ashley-taylor/regex-property-action@v1
56+
if: github.ref_type == 'tag'
57+
with:
58+
value: "${{ github.ref_name }}"
59+
regex: "v?(.*)"
60+
replacement: "$1"
61+
62+
- name: Replace dots
63+
id: replace-dots
64+
uses: ashley-taylor/regex-property-action@v1
65+
if: github.ref_type == 'tag'
66+
with:
67+
value: "${{ steps.strip-version-prefix.outputs.value }}"
68+
regex: "\\."
69+
replacement: "\\."
70+
71+
- name: Delete tagged packages
72+
uses: advanova/delete-old-packages@main
73+
if: github.ref_type == 'tag'
74+
with:
75+
organization: advanova
76+
type: maven
77+
rate-limit: true
78+
keep: 0
79+
version-pattern: "^${{ steps.replace-dots.outputs.value }}$"
80+
name-pattern: "org\\.talend\\.studio.*"
81+
82+
- uses: actions/checkout@v4
83+
with:
84+
submodules: recursive
85+
fetch-depth: 0
86+
87+
- name: Retrieve cached local Maven repository
88+
id: cache
89+
uses: actions/cache/restore@v3
90+
with:
91+
path: ~/.m2/repository
92+
key: maven-${{ hashFiles('**/pom.xml') }}
93+
restore-keys: |
94+
maven-
95+
96+
- name: asdf_install
97+
uses: asdf-vm/actions/install@v3
98+
99+
- name: build talend open studio
100+
run: |
101+
export JAVA_HOME=$(asdf where java)
102+
./mvnw -B clean deploy -DskipTests -Dversioning.disable=false -Dtos.products=false -DaltDeploymentRepository=github::default::https://maven.pkg.github.com/${{ github.repository }}
103+
104+
build:
105+
strategy:
106+
fail-fast: false
107+
matrix:
108+
product: ['tos.bd','tos.di','tos.dq','tos.esb']
109+
runs-on: ubuntu-latest
110+
needs: dependency-resolution
111+
112+
steps:
113+
- uses: actions/checkout@v4
114+
with:
115+
submodules: recursive
116+
fetch-depth: 0
117+
118+
- name: Retrieve cached local Maven repository
119+
id: cache
120+
uses: actions/cache/restore@v3
121+
with:
122+
path: ~/.m2/repository
123+
key: maven-${{ hashFiles('**/pom.xml') }}
124+
restore-keys: |
125+
maven-
126+
127+
- name: asdf_install
128+
uses: asdf-vm/actions/install@v3
129+
130+
- name: build talend open studio
131+
run: |
132+
export JAVA_HOME=$(asdf where java)
133+
./mvnw -B clean install -P-nonofficial -DskipTests -D${{ matrix.product }}=true
134+
135+
- name: Archive build artifacts
136+
uses: actions/upload-artifact@v3
137+
with:
138+
name: ${{ matrix.product }}
139+
path: 'build/storage/**'
140+
141+
release:
142+
runs-on: ubuntu-latest
143+
needs: build
144+
if: github.ref_type == 'tag' || github.ref_name == 'main'
145+
146+
steps:
147+
- uses: actions/checkout@v4
148+
149+
- name: Download artifact
150+
uses: actions/download-artifact@v3
151+
152+
- name: Display structure of downloaded files
153+
run: ls -R
154+
155+
- name: tag main branch as latest
156+
if: github.ref_name == 'main'
157+
run: git tag -f latest
158+
159+
- name: push latest tag
160+
if: github.ref_name == 'main'
161+
run: git push -f origin latest
162+
163+
- name: Delete old release
164+
# Can be replaced with https://github.com/softprops/action-gh-release/pull/188 if that is implemented
165+
uses: liudonghua123/delete-release-action@v1
166+
with:
167+
release_name: 'latest'
168+
suppress_errors: true
169+
170+
- name: Release
171+
if: github.ref_name == 'main' || github.ref_type == 'tag'
172+
uses: softprops/action-gh-release@v1
173+
with:
174+
files: |
175+
**/*.zip
176+
prerelease: ${{ github.ref_type != 'tag' }}
177+
generate_release_notes: true
178+
tag_name: ${{ github.ref_type == 'tag' && github.ref_name || 'latest' }}

.gitignore

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# Eclipse
2+
.project
3+
.classpath
4+
.settings/
5+
bin/
6+
7+
# IntelliJ
8+
.idea
9+
*.ipr
10+
*.iml
11+
*.iws
12+
13+
# NetBeans
14+
nb-configuration.xml
15+
16+
# Visual Studio Code
17+
.vscode
18+
.factorypath
19+
20+
# OSX
21+
.DS_Store
22+
23+
# Vim
24+
*.swp
25+
*.swo
26+
27+
# patch
28+
*.orig
29+
*.rej
30+
31+
# Maven
32+
target/
33+
pom.xml.tag
34+
pom.xml.releaseBackup
35+
pom.xml.versionsBackup
36+
release.properties
37+
.flattened-pom.xml
38+
39+
.cache
40+
build/storage

.gitmodules

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
[submodule "tmdm-studio-se"]
2+
path = tmdm-studio-se
3+
url = https://github.com/Talend/tmdm-studio-se
4+
[submodule "tdq-studio-se"]
5+
path = tdq-studio-se
6+
url = https://github.com/Talend/tdq-studio-se.git
7+
[submodule "studio-se-master"]
8+
path = studio-se-master
9+
url = https://github.com/Talend/studio-se-master.git
10+
[submodule "tmdm-common"]
11+
path = tmdm-common
12+
url = https://github.com/Talend/tmdm-common
13+
[submodule "tdi-studio-se"]
14+
path = tdi-studio-se
15+
url = https://github.com/Talend/tdi-studio-se
16+
[submodule "tesb-studio-se"]
17+
path = tesb-studio-se
18+
url = https://github.com/Talend/tesb-studio-se
19+
[submodule "tcommon-studio-se"]
20+
path = tcommon-studio-se
21+
url = https://github.com/Talend/tcommon-studio-se.git
22+
[submodule "tbd-studio-se"]
23+
path = tbd-studio-se
24+
url = https://github.com/Talend/tbd-studio-se.git

.mvn/extensions.xml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<extensions xmlns="http://maven.apache.org/EXTENSIONS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
2+
xsi:schemaLocation="http://maven.apache.org/EXTENSIONS/1.0.0 http://maven.apache.org/xsd/core-extensions-1.0.0.xsd">
3+
4+
<extension>
5+
<groupId>com.github.gzm55.maven</groupId>
6+
<artifactId>project-settings-extension</artifactId>
7+
<version>0.2.4</version>
8+
</extension>
9+
10+
<!-- common pom manipulation, configured by pme.properties -->
11+
<extension>
12+
<groupId>org.commonjava.maven.ext</groupId>
13+
<artifactId>pom-manipulation-ext</artifactId>
14+
<version>4.15</version>
15+
</extension>
16+
17+
<extension>
18+
<groupId>me.qoomon</groupId>
19+
<artifactId>maven-git-versioning-extension</artifactId>
20+
<version>7.1.2</version>
21+
</extension>
22+
</extensions>

.mvn/jvm.config

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
-Xmx8000m -XX:-UseConcMarkSweepGC
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<configuration xmlns="https://github.com/qoomon/maven-git-versioning-extension"
2+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3+
xsi:schemaLocation="https://github.com/qoomon/maven-git-versioning-extension https://qoomon.github.io/maven-git-versioning-extension/configuration-7.0.0.xsd">
4+
5+
<disable>true</disable>
6+
7+
<refs>
8+
<ref type="tag">
9+
<pattern><![CDATA[v(?<version>.*)]]></pattern>
10+
<version>${ref.version}</version>
11+
</ref>
12+
</refs>
13+
14+
<!-- fallback configuration in case of no matching ref configuration-->
15+
<rev>
16+
<version>${version.release}-SNAPSHOT</version>
17+
</rev>
18+
19+
</configuration>

.mvn/settings.xml

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
<settings xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.1.0 http://maven.apache.org/xsd/settings-1.1.0.xsd"
2+
xmlns="http://maven.apache.org/SETTINGS/1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
3+
<mirrors>
4+
<mirror>
5+
<id>eclipse-mirror</id>
6+
<mirrorOf>eclipse</mirrorOf>
7+
<url>https://download.eclipse.org/rt/eclipselink/maven.repo</url>
8+
</mirror>
9+
<mirror>
10+
<id>releases.java.net-mirror</id>
11+
<mirrorOf>releases.java.net</mirrorOf>
12+
<url>https://maven.java.net/content/repositories/releases/</url>
13+
</mirror>
14+
<mirror>
15+
<id>jvnet-nexus-staging-mirror</id>
16+
<url>https://maven.java.net/content/repositories/staging/</url>
17+
<mirrorOf>jvnet-nexus-staging</mirrorOf>
18+
</mirror>
19+
<mirror>
20+
<id>spring-releases-mirror</id>
21+
<url>https://artifacts-oss.talend.com/nexus/content/repositories/public</url>
22+
<mirrorOf>spring-releases</mirrorOf>
23+
</mirror>
24+
</mirrors>
25+
<servers>
26+
<server>
27+
<id>github</id>
28+
<configuration>
29+
<httpHeaders>
30+
<property>
31+
<name>Authorization</name>
32+
<value>Bearer ${env.GITHUB_TOKEN}</value>
33+
</property>
34+
</httpHeaders>
35+
</configuration>
36+
</server>
37+
</servers>
38+
<profiles>
39+
<profile>
40+
<id>talend-properties</id>
41+
<activation>
42+
<property>
43+
<name>autoconfig</name>
44+
<value>!false</value>
45+
</property>
46+
</activation>
47+
<properties>
48+
<license.skipAddThirdParty>true</license.skipAddThirdParty>
49+
<buildRootDir>${maven.multiModuleProjectDirectory}/build</buildRootDir>
50+
<storage>${buildRootDir}/storage</storage>
51+
<product.build.id>${product.final.name}</product.build.id>
52+
</properties>
53+
</profile>
54+
<profile>
55+
<id>github</id>
56+
<activation>
57+
<property>
58+
<name>env.GITHUB_ACTIONS</name>
59+
<value>!false</value>
60+
</property>
61+
</activation>
62+
<repositories>
63+
<repository>
64+
<id>github</id>
65+
<url>https://maven.pkg.github.com/${env.GITHUB_REPOSITORY}</url>
66+
<snapshots>
67+
<enabled>true</enabled>
68+
</snapshots>
69+
<releases>
70+
<enabled>true</enabled>
71+
</releases>
72+
</repository>
73+
</repositories>
74+
<pluginRepositories>
75+
<pluginRepository>
76+
<id>github</id>
77+
<url>https://maven.pkg.github.com/${env.GITHUB_REPOSITORY}</url>
78+
<snapshots>
79+
<enabled>true</enabled>
80+
</snapshots>
81+
<releases>
82+
<enabled>true</enabled>
83+
</releases>
84+
</pluginRepository>
85+
</pluginRepositories>
86+
</profile>
87+
</profiles>
88+
<activeProfiles>
89+
<!-- This profile allows us to import properties from the product.properties file -->
90+
<activeProfile>official</activeProfile>
91+
</activeProfiles>
92+
</settings>

.mvn/wrapper/maven-wrapper.jar

61.1 KB
Binary file not shown.

0 commit comments

Comments
 (0)