Skip to content

Commit a7a2fdb

Browse files
committed
ICU-22324 Script moving folders to maven structure
1 parent ffc449d commit a7a2fdb

20 files changed

Lines changed: 1675 additions & 0 deletions

File tree

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# Maven progress
2+
3+
## Running the migration scripts
4+
5+
Change the folder to `<icuroot>/icu4j/` and run `maven-migration/toMaven.sh`.
6+
7+
For convenience you can copy the `maven-migration` folder somewhere else and
8+
run the script from there. \
9+
But the current folder when running the script MUST be `<icuroot>/icu4j/`. \
10+
This is convenient if you work in a feature branch and don't want to integrate
11+
from `main` at this point. \
12+
So you checkout `main`, copy the `maven-migration` folder somewhere else,
13+
checkout `<feature_branch>`, and run script from where you copied it.
14+
15+
## TODO
16+
17+
- Packaging the many data files in a jar is slow (especially core)
18+
- The data files (.res & Co.) are spread out in the various modules.
19+
So we would need a (non maven) step to distribute them.
20+
Probably modify the step that produces the .jar files (in the C/C++ world)
21+
- done: The tests for localespi should become integration tests
22+
- We might want some integration tests to begin with
23+
- `LICENSE`, `security.policy`, anything else from `main/shared/` => LICENSE should be symlink.
24+
- done: The `.lst` files. All tests pass without, we can probably delete them. But need more testing.
25+
If not, we need a way to generate them (right now I've copied them by hand)
26+
- Double-check dependencies.
27+
Also see https://stackoverflow.com/questions/27726779/declare-maven-dependency-as-test-runtime-only
28+
- BOM (Bill of Materials). See https://reflectoring.io/maven-bom/
29+
- See the library shared with cldr tools
30+
- Also to do:
31+
- promote this one folder up?
32+
- done: - build things in parent (demos, samples, tools)
33+
- done: - from the parent folder these will go away
34+
- `main/` ?
35+
- `maven/`
36+
- `maven-build/`
37+
- `manifest.stub`
38+
- `coverage-exclusion.txt`
39+
- `build.xml`
40+
- `ivy.xml`
41+
- Change icu4j artifact description: \
42+
from "International Component for Unicode for Java" \
43+
to "International Components for Unicode for Java" (Components) \
44+
Fix all instances (found 6 instances, 4 in older pom.xml files, 2 in .md files)
45+
46+
> Copyright © 2023 and later Unicode, Inc. and others. All Rights Reserved.
47+
Unicode and the Unicode Logo are registered trademarks
48+
of Unicode, Inc. in the U.S. and other countries.
49+
[Terms of Use and License](http://www.unicode.org/copyright.html)
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
* © 2023 and later: Unicode, Inc. and others.
4+
* License & terms of use: http://www.unicode.org/copyright.html
5+
-->
6+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
7+
<modelVersion>4.0.0</modelVersion>
8+
<parent>
9+
<groupId>com.ibm.icu</groupId>
10+
<artifactId>icu4j-root</artifactId>
11+
<version>74.0.1-SNAPSHOT</version>
12+
</parent>
13+
14+
<artifactId>demos</artifactId>
15+
16+
<properties>
17+
<icu4j.api.doc.root.dir>${project.basedir}/..</icu4j.api.doc.root.dir>
18+
</properties>
19+
20+
<dependencies>
21+
<dependency>
22+
<groupId>com.ibm.icu</groupId>
23+
<artifactId>core</artifactId>
24+
<version>${project.version}</version>
25+
</dependency>
26+
<dependency>
27+
<groupId>com.ibm.icu</groupId>
28+
<artifactId>icu4j-charset</artifactId>
29+
<version>${project.version}</version>
30+
</dependency>
31+
<dependency>
32+
<groupId>com.ibm.icu</groupId>
33+
<artifactId>translit</artifactId>
34+
<version>${project.version}</version>
35+
</dependency>
36+
</dependencies>
37+
38+
</project>
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
* © 2023 and later: Unicode, Inc. and others.
4+
* License & terms of use: http://www.unicode.org/copyright.html
5+
-->
6+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
7+
<modelVersion>4.0.0</modelVersion>
8+
<parent>
9+
<groupId>com.ibm.icu</groupId>
10+
<artifactId>main</artifactId>
11+
<version>74.0.1-SNAPSHOT</version>
12+
</parent>
13+
14+
<artifactId>icu4j-charset</artifactId>
15+
16+
<properties>
17+
<icu4j.api.doc.root.dir>${project.basedir}/../..</icu4j.api.doc.root.dir>
18+
<mf.Automatic-Module-Name>com.ibm.icu.charset</mf.Automatic-Module-Name>
19+
</properties>
20+
21+
<dependencies>
22+
<dependency>
23+
<groupId>com.ibm.icu</groupId>
24+
<artifactId>core</artifactId>
25+
<version>${project.version}</version>
26+
</dependency>
27+
28+
<dependency>
29+
<groupId>com.ibm.icu</groupId>
30+
<artifactId>core</artifactId>
31+
<version>${project.version}</version>
32+
<type>test-jar</type>
33+
<scope>test</scope>
34+
</dependency>
35+
<dependency>
36+
<groupId>com.ibm.icu</groupId>
37+
<artifactId>framework</artifactId>
38+
<version>${project.version}</version>
39+
<type>test-jar</type>
40+
<scope>test</scope>
41+
</dependency>
42+
43+
<dependency>
44+
<groupId>junit</groupId>
45+
<artifactId>junit</artifactId>
46+
<version>${junit.version}</version>
47+
<scope>test</scope>
48+
</dependency>
49+
<dependency>
50+
<groupId>pl.pragmatists</groupId>
51+
<artifactId>JUnitParams</artifactId>
52+
<version>${junitparams.version}</version>
53+
<scope>test</scope>
54+
</dependency>
55+
56+
</dependencies>
57+
58+
</project>
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
* © 2023 and later: Unicode, Inc. and others.
4+
* License & terms of use: http://www.unicode.org/copyright.html
5+
-->
6+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
7+
<modelVersion>4.0.0</modelVersion>
8+
<parent>
9+
<groupId>com.ibm.icu</groupId>
10+
<artifactId>main</artifactId>
11+
<version>74.0.1-SNAPSHOT</version>
12+
</parent>
13+
14+
<artifactId>collate</artifactId>
15+
16+
<properties>
17+
<icu4j.api.doc.root.dir>${project.basedir}/../..</icu4j.api.doc.root.dir>
18+
</properties>
19+
20+
<dependencies>
21+
<dependency>
22+
<groupId>com.ibm.icu</groupId>
23+
<artifactId>core</artifactId>
24+
<version>${project.version}</version>
25+
</dependency>
26+
27+
<!-- Test -->
28+
<dependency>
29+
<groupId>com.ibm.icu</groupId>
30+
<artifactId>core</artifactId>
31+
<version>${project.version}</version>
32+
<type>test-jar</type>
33+
<scope>test</scope>
34+
</dependency>
35+
<dependency>
36+
<groupId>com.ibm.icu</groupId>
37+
<artifactId>framework</artifactId>
38+
<version>${project.version}</version>
39+
<type>test-jar</type>
40+
<scope>test</scope>
41+
</dependency>
42+
<dependency>
43+
<groupId>com.ibm.icu</groupId>
44+
<artifactId>langdata</artifactId>
45+
<version>${project.version}</version>
46+
<scope>test</scope>
47+
</dependency>
48+
<dependency>
49+
<groupId>com.ibm.icu</groupId>
50+
<artifactId>regiondata</artifactId>
51+
<version>${project.version}</version>
52+
<scope>test</scope>
53+
</dependency>
54+
<dependency>
55+
<groupId>com.ibm.icu</groupId>
56+
<artifactId>currdata</artifactId>
57+
<version>${project.version}</version>
58+
<scope>test</scope>
59+
</dependency>
60+
61+
<dependency>
62+
<groupId>junit</groupId>
63+
<artifactId>junit</artifactId>
64+
<version>${junit.version}</version>
65+
<scope>test</scope>
66+
</dependency>
67+
</dependencies>
68+
69+
</project>
Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
* © 2023 and later: Unicode, Inc. and others.
4+
* License & terms of use: http://www.unicode.org/copyright.html
5+
-->
6+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
7+
<modelVersion>4.0.0</modelVersion>
8+
<parent>
9+
<groupId>com.ibm.icu</groupId>
10+
<artifactId>main</artifactId>
11+
<version>74.0.1-SNAPSHOT</version>
12+
</parent>
13+
14+
<artifactId>common_tests</artifactId>
15+
16+
<properties>
17+
<icu4j.api.doc.root.dir>${project.basedir}/../..</icu4j.api.doc.root.dir>
18+
</properties>
19+
20+
<dependencies>
21+
<dependency>
22+
<groupId>com.ibm.icu</groupId>
23+
<artifactId>core</artifactId>
24+
<version>${project.version}</version>
25+
</dependency>
26+
27+
<dependency>
28+
<groupId>com.ibm.icu</groupId>
29+
<artifactId>core</artifactId>
30+
<version>${project.version}</version>
31+
<type>test-jar</type>
32+
<scope>test</scope>
33+
</dependency>
34+
<dependency>
35+
<groupId>com.ibm.icu</groupId>
36+
<artifactId>framework</artifactId>
37+
<version>${project.version}</version>
38+
<type>test-jar</type>
39+
<scope>test</scope>
40+
</dependency>
41+
<dependency>
42+
<groupId>com.ibm.icu</groupId>
43+
<artifactId>currdata</artifactId>
44+
<version>${project.version}</version>
45+
<scope>test</scope>
46+
</dependency>
47+
<dependency>
48+
<groupId>com.ibm.icu</groupId>
49+
<artifactId>translit</artifactId>
50+
<version>${project.version}</version>
51+
<scope>test</scope>
52+
</dependency>
53+
<dependency>
54+
<groupId>com.ibm.icu</groupId>
55+
<artifactId>langdata</artifactId>
56+
<version>${project.version}</version>
57+
<scope>test</scope>
58+
</dependency>
59+
<dependency>
60+
<groupId>com.ibm.icu</groupId>
61+
<artifactId>collate</artifactId>
62+
<version>${project.version}</version>
63+
<scope>test</scope>
64+
</dependency>
65+
<dependency>
66+
<groupId>com.ibm.icu</groupId>
67+
<artifactId>regiondata</artifactId>
68+
<version>${project.version}</version>
69+
<scope>test</scope>
70+
</dependency>
71+
72+
<dependency>
73+
<groupId>junit</groupId>
74+
<artifactId>junit</artifactId>
75+
<version>${junit.version}</version>
76+
<scope>test</scope>
77+
</dependency>
78+
<dependency>
79+
<groupId>pl.pragmatists</groupId>
80+
<artifactId>JUnitParams</artifactId>
81+
<version>${junitparams.version}</version>
82+
<scope>test</scope>
83+
</dependency>
84+
</dependencies>
85+
86+
<build>
87+
<plugins>
88+
<plugin>
89+
<groupId>org.apache.maven.plugins</groupId>
90+
<artifactId>maven-jar-plugin</artifactId>
91+
<executions>
92+
<execution>
93+
<goals>
94+
<goal>test-jar</goal>
95+
</goals>
96+
</execution>
97+
</executions>
98+
</plugin>
99+
</plugins>
100+
</build>
101+
102+
</project>
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
* © 2023 and later: Unicode, Inc. and others.
4+
* License & terms of use: http://www.unicode.org/copyright.html
5+
-->
6+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
7+
<modelVersion>4.0.0</modelVersion>
8+
<parent>
9+
<groupId>com.ibm.icu</groupId>
10+
<artifactId>main</artifactId>
11+
<version>74.0.1-SNAPSHOT</version>
12+
</parent>
13+
14+
<artifactId>core</artifactId>
15+
16+
<properties>
17+
<icu4j.api.doc.root.dir>${project.basedir}/../..</icu4j.api.doc.root.dir>
18+
</properties>
19+
20+
<dependencies>
21+
<dependency>
22+
<groupId>com.ibm.icu</groupId>
23+
<artifactId>framework</artifactId>
24+
<version>${project.version}</version>
25+
<type>test-jar</type>
26+
<scope>test</scope>
27+
</dependency>
28+
29+
<dependency>
30+
<groupId>junit</groupId>
31+
<artifactId>junit</artifactId>
32+
<version>${junit.version}</version>
33+
<scope>test</scope>
34+
</dependency>
35+
<dependency>
36+
<groupId>pl.pragmatists</groupId>
37+
<artifactId>JUnitParams</artifactId>
38+
<version>${junitparams.version}</version>
39+
<scope>test</scope>
40+
</dependency>
41+
</dependencies>
42+
43+
<build>
44+
<plugins>
45+
<plugin>
46+
<groupId>org.apache.maven.plugins</groupId>
47+
<artifactId>maven-jar-plugin</artifactId>
48+
<executions>
49+
<execution>
50+
<goals>
51+
<goal>test-jar</goal>
52+
</goals>
53+
</execution>
54+
</executions>
55+
</plugin>
56+
</plugins>
57+
</build>
58+
59+
</project>

0 commit comments

Comments
 (0)