Skip to content
This repository was archived by the owner on Jul 17, 2024. It is now read-only.

Commit 12a424e

Browse files
chore: Use Timefold and rename packages
1 parent ac3119c commit 12a424e

File tree

652 files changed

+3661
-470844
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

652 files changed

+3661
-470844
lines changed

.github/workflows/publish-docs-to-pages.yml

Lines changed: 0 additions & 51 deletions
This file was deleted.

.github/workflows/pull_request.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ jobs:
7373
pip install tox pytest
7474

7575
- name: Build with Maven to install parent poms for python build
76-
run: mvn -B --fail-at-end clean install -Dasciidoctor.skip -Dassembly.skipAssembly
76+
run: mvn -B --fail-at-end clean install
7777

7878
- name: Run tox on optapy test suite
7979
run: python -m tox

.github/workflows/sonarcloud.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ jobs:
7272
pip install tox coverage pytest pytest-cov
7373

7474
- name: Build with Maven to measure code coverage
75-
run: mvn -B --fail-at-end clean install -Prun-code-coverage -Dasciidoctor.skip -Dassembly.skipAssembly
75+
run: mvn -B --fail-at-end clean install -Prun-code-coverage
7676

7777
- name: Get JaCoCo Agent
7878
run: mvn org.apache.maven.plugins:maven-dependency-plugin:2.8:get -Dartifact=org.jacoco:org.jacoco.agent:0.8.8:jar:runtime -Ddest=target/jacocoagent.jar

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ __pycache__
22
/target
33
/build
44
/local
5-
venv
5+
/venv*
66
graalvenv
77
/dist
88
/*.egg-info

MANIFEST.in

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,12 @@
11
graft .mvn
22
include mvnw mvnw.cmd pom.xml create-stubs.py
33

4-
include optapy-core/pom.xml
5-
graft optapy-core/src/main/java
6-
graft optapy-core/src/main/resources
7-
graft optapy-core/src/test/java
4+
include timefold-solver-python-core/pom.xml
5+
graft timefold-solver-python-core/src/main/java
6+
graft timefold-solver-python-core/src/main/resources
7+
graft timefold-solver-python-core/src/test/java
88

99
include jpyinterpreter/pom.xml
1010
graft jpyinterpreter/src/main/java
1111
graft jpyinterpreter/src/main/resources
1212
graft jpyinterpreter/src/test/java
13-
14-
include optapy-docs/pom.xml
15-
graft optapy-docs/src

create-stubs.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@
77
jpype.startJVM(classpath=jars, convertStrings=True)
88

99
import jpype.imports # noqa
10-
import org.optaplanner.core.api # noqa
11-
import org.optaplanner.core.config # noqa
10+
import ai.timefold.solver.core.api # noqa
11+
import ai.timefold.solver.core.config # noqa
1212
import java.lang # noqa
1313
import java.time # noqa
1414
import java.util # noqa
1515

16-
stubgenj.generateJavaStubs([java.lang, java.time, java.util, org.optaplanner.core.api, org.optaplanner.core.config],
16+
stubgenj.generateJavaStubs([java.lang, java.time, java.util, ai.timefold.solver.core.api, ai.timefold.solver.core.config],
1717
useStubsSuffix=True)
1818

fix-coverage-paths.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,10 @@ def fix_package_name(name: str) -> str:
3535

3636

3737
def fix_file_name(file_name: str) -> str:
38-
if 'optapy' in file_name:
39-
optapy_index = file_name.index('optapy')
40-
offset = optapy_index + len('optapy')
41-
return str(pathlib.Path('optapy-core', 'src', 'main', 'python')) + file_name[offset:]
38+
if 'timefold' in file_name:
39+
timefold_index = file_name.index('timefold')
40+
offset = timefold_index + len('timefold')
41+
return str(pathlib.Path('timefold-solver-python-core', 'src', 'main', 'python')) + file_name[offset:]
4242
elif 'jpyinterpreter' in file_name:
4343
jpyinterpreter_index = file_name.index('jpyinterpreter')
4444
offset = jpyinterpreter_index + len('jpyinterpreter')
@@ -119,9 +119,9 @@ def is_test_package(package_name: str) -> bool:
119119

120120

121121
def is_ignored(package_name: str, ignore_jpyinterpreter: bool = False):
122-
# optapy packages start with 'optapy.' (or just plain 'optapy'), not 'optapy-core'
122+
# timefold packages start with 'timefold.solver.' (or just plain 'timefold.solver'), not 'timefold-solver-python-core'
123123
return is_test_package(package_name) or (ignore_jpyinterpreter and package_name.startswith('jpyinterpreter')) or \
124-
package_name.startswith('optapy-core') or package_name.endswith('.jars')
124+
package_name.startswith('timefold-solver-python-core') or package_name.endswith('.jars')
125125

126126

127127
def update_coverage_xml(coverage_xml: ET.ElementTree, *, ignore_jpyinterpreter: bool = False):
@@ -211,10 +211,10 @@ def merge_coverage_xml(*coverage_xmls: ET.ElementTree):
211211
return ET.ElementTree(root_element)
212212

213213
if __name__ == '__main__':
214-
optapy_coverage_xml = ET.parse('target/coverage.xml')
214+
timefold_coverage_xml = ET.parse('target/coverage.xml')
215215
jpyinterpreter_coverage_xml = ET.parse('jpyinterpreter/target/coverage.xml')
216216

217-
update_coverage_xml(optapy_coverage_xml, ignore_jpyinterpreter=True)
217+
update_coverage_xml(timefold_coverage_xml, ignore_jpyinterpreter=True)
218218
update_coverage_xml(jpyinterpreter_coverage_xml)
219219

220-
merge_coverage_xml(optapy_coverage_xml, jpyinterpreter_coverage_xml).write('target/coverage.xml')
220+
merge_coverage_xml(timefold_coverage_xml, jpyinterpreter_coverage_xml).write('target/coverage.xml')

jpyinterpreter/pom.xml

Lines changed: 7 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2,30 +2,29 @@
22
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
33
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
44
<parent>
5-
<groupId>org.optaplanner</groupId>
6-
<artifactId>optapy-parent</artifactId>
7-
<version>9.37.0.Final</version>
8-
<relativePath>../pom.xml</relativePath>
5+
<groupId>ai.timefold.solver</groupId>
6+
<artifactId>timefold-solver-python-parent</artifactId>
7+
<version>1.7.0</version>
98
</parent>
109
<modelVersion>4.0.0</modelVersion>
1110
<artifactId>jpyinterpreter</artifactId>
1211

1312
<properties>
14-
<java.module.name>jpyinterpreter</java.module.name>
15-
<version.org.ow2.asm>9.5</version.org.ow2.asm>
13+
<java.module.name>ai.timefold.jpyinterpreter</java.module.name>
14+
<version.ow2.asm>9.6</version.ow2.asm>
1615
</properties>
1716

1817
<dependencyManagement>
1918
<dependencies>
2019
<dependency>
2120
<groupId>org.ow2.asm</groupId>
2221
<artifactId>asm-util</artifactId>
23-
<version>${version.org.ow2.asm}</version>
22+
<version>${version.ow2.asm}</version>
2423
</dependency>
2524
<dependency>
2625
<groupId>org.ow2.asm</groupId>
2726
<artifactId>asm-tree</artifactId>
28-
<version>${version.org.ow2.asm}</version>
27+
<version>${version.ow2.asm}</version>
2928
</dependency>
3029
</dependencies>
3130
</dependencyManagement>
@@ -119,18 +118,4 @@
119118
</plugin>
120119
</plugins>
121120
</build>
122-
123-
<repositories>
124-
<repository>
125-
<id>jboss-public-repository-group</id>
126-
<url>https://repository.jboss.org/nexus/content/groups/public/</url>
127-
<releases>
128-
<!-- Get releases only from Maven Central which is faster. -->
129-
<enabled>false</enabled>
130-
</releases>
131-
<snapshots>
132-
<enabled>true</enabled>
133-
</snapshots>
134-
</repository>
135-
</repositories>
136121
</project>

jpyinterpreter/pyproject.toml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
[build-system]
22
requires = [
3-
# Pin setuptools to 58.4.0 since 58.5.{0,1} accidentally introduced breaking changes that break custom build classes
4-
# https://github.com/pypa/setuptools/issues/2849
5-
"setuptools==58.4.0",
3+
"setuptools>=69.1.1",
64
"stubgenj>=0.2.5",
75
"JPype1>=1.4.1",
86
"wheel"

jpyinterpreter/setup.py

Lines changed: 5 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -38,56 +38,27 @@ def run(self):
3838
classpath_jars.extend(glob.glob(os.path.join(project_root, 'target', '*.jar')))
3939
# Add the main artifact's dependencies
4040
classpath_jars.extend(glob.glob(os.path.join(project_root, 'target', 'dependency', '*.jar')))
41-
# Get the basename of each file (to be stored in classpath.txt, which is used
42-
# when setting the classpath)
43-
filenames = list(map(os.path.basename, classpath_jars))
44-
classpath_list_text = "\n".join(filenames)
45-
4641
self.mkpath(os.path.join(self.build_lib, 'jpyinterpreter', 'jars'))
4742

48-
# Copy classpath jars to optapy.jars
43+
# Copy classpath jars to jpyinterpreter.jars
4944
for file in classpath_jars:
5045
copyfile(file, os.path.join(self.build_lib, 'jpyinterpreter', 'jars', os.path.basename(file)))
5146

52-
# Add classpath.txt to optapy
53-
fp = open(os.path.join(self.build_lib, 'jpyinterpreter', 'classpath.txt'), 'w')
54-
fp.write(classpath_list_text)
55-
fp.close()
56-
57-
# Make optapy.jars a Python module
47+
# Make jpyinterpreter.jars a Python module
5848
fp = open(os.path.join(self.build_lib, 'jpyinterpreter', 'jars', '__init__.py'), 'w')
5949
fp.close()
6050
build_py.run(self)
6151

62-
63-
def find_stub_files(stub_root: str):
64-
"""
65-
This function is taken from the awesome sqlalchey-stubs:
66-
https://github.com/dropbox/sqlalchemy-stubs/blob/master/setup.py#L32
67-
It's licensed under Apache 2.0:
68-
https://github.com/dropbox/sqlalchemy-stubs/blob/master/LICENSE
69-
"""
70-
result = []
71-
for root, dirs, files in os.walk(stub_root):
72-
for file in files:
73-
if file.endswith(".pyi"):
74-
if os.path.sep in root:
75-
sub_root = root.split(os.path.sep, 1)[-1]
76-
file = os.path.join(sub_root, file)
77-
result.append(file)
78-
return result
79-
80-
8152
this_directory = Path(__file__).parent
8253

8354
setup(
8455
name='jpyinterpreter',
85-
version='9.37.0b0',
56+
version='0.0.0a0',
8657
license='Apache License Version 2.0',
8758
license_file='LICENSE',
8859
description='A Python bytecode to Java bytecode translator',
8960
classifiers=[
90-
'Development Status :: 4 - Beta',
61+
'Development Status :: 1 - Planning',
9162
'Programming Language :: Python :: 3',
9263
'Topic :: Software Development :: Libraries :: Java Libraries',
9364
'License :: OSI Approved :: Apache Software License',
@@ -112,7 +83,6 @@ def find_stub_files(stub_root: str):
11283
],
11384
cmdclass={'build_py': FetchDependencies},
11485
package_data={
115-
'optapy': ['classpath.txt'],
116-
'optapy.jars': ['*.jar'],
86+
'jpyinterpreter.jars': ['*.jar'],
11787
},
11888
)

jpyinterpreter/src/main/java/org/optaplanner/jpyinterpreter/BytecodeSwitchImplementor.java renamed to jpyinterpreter/src/main/java/ai/timefold/jpyinterpreter/BytecodeSwitchImplementor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.optaplanner.jpyinterpreter;
1+
package ai.timefold.jpyinterpreter;
22

33
import java.util.ArrayList;
44
import java.util.Collection;

jpyinterpreter/src/main/java/org/optaplanner/jpyinterpreter/CPythonBackedPythonInterpreter.java renamed to jpyinterpreter/src/main/java/ai/timefold/jpyinterpreter/CPythonBackedPythonInterpreter.java

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.optaplanner.jpyinterpreter;
1+
package ai.timefold.jpyinterpreter;
22

33
import java.io.InputStream;
44
import java.io.PrintStream;
@@ -11,19 +11,19 @@
1111
import java.util.function.BiFunction;
1212
import java.util.function.Function;
1313

14-
import org.optaplanner.jpyinterpreter.builtins.GlobalBuiltins;
15-
import org.optaplanner.jpyinterpreter.types.CPythonBackedPythonLikeObject;
16-
import org.optaplanner.jpyinterpreter.types.PythonModule;
17-
import org.optaplanner.jpyinterpreter.types.PythonString;
18-
import org.optaplanner.jpyinterpreter.types.collections.PythonLikeTuple;
19-
import org.optaplanner.jpyinterpreter.types.errors.PythonTraceback;
20-
import org.optaplanner.jpyinterpreter.types.numeric.PythonInteger;
21-
import org.optaplanner.jpyinterpreter.types.wrappers.OpaquePythonReference;
22-
import org.optaplanner.jpyinterpreter.types.wrappers.PythonObjectWrapper;
23-
import org.optaplanner.jpyinterpreter.util.function.PentaFunction;
24-
import org.optaplanner.jpyinterpreter.util.function.QuadFunction;
25-
import org.optaplanner.jpyinterpreter.util.function.TriConsumer;
26-
import org.optaplanner.jpyinterpreter.util.function.TriFunction;
14+
import ai.timefold.jpyinterpreter.builtins.GlobalBuiltins;
15+
import ai.timefold.jpyinterpreter.types.CPythonBackedPythonLikeObject;
16+
import ai.timefold.jpyinterpreter.types.PythonModule;
17+
import ai.timefold.jpyinterpreter.types.PythonString;
18+
import ai.timefold.jpyinterpreter.types.collections.PythonLikeTuple;
19+
import ai.timefold.jpyinterpreter.types.errors.PythonTraceback;
20+
import ai.timefold.jpyinterpreter.types.numeric.PythonInteger;
21+
import ai.timefold.jpyinterpreter.types.wrappers.OpaquePythonReference;
22+
import ai.timefold.jpyinterpreter.types.wrappers.PythonObjectWrapper;
23+
import ai.timefold.jpyinterpreter.util.function.PentaFunction;
24+
import ai.timefold.jpyinterpreter.util.function.QuadFunction;
25+
import ai.timefold.jpyinterpreter.util.function.TriConsumer;
26+
import ai.timefold.jpyinterpreter.util.function.TriFunction;
2727

2828
public class CPythonBackedPythonInterpreter implements PythonInterpreter {
2929
InputStream standardInput;

jpyinterpreter/src/main/java/org/optaplanner/jpyinterpreter/CompareOp.java renamed to jpyinterpreter/src/main/java/ai/timefold/jpyinterpreter/CompareOp.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.optaplanner.jpyinterpreter;
1+
package ai.timefold.jpyinterpreter;
22

33
public enum CompareOp {
44
LESS_THAN(0, "__lt__"),

jpyinterpreter/src/main/java/org/optaplanner/jpyinterpreter/ExceptionBlock.java renamed to jpyinterpreter/src/main/java/ai/timefold/jpyinterpreter/ExceptionBlock.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.optaplanner.jpyinterpreter;
1+
package ai.timefold.jpyinterpreter;
22

33
import java.util.Objects;
44
import java.util.Set;

jpyinterpreter/src/main/java/org/optaplanner/jpyinterpreter/FieldDescriptor.java renamed to jpyinterpreter/src/main/java/ai/timefold/jpyinterpreter/FieldDescriptor.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
package org.optaplanner.jpyinterpreter;
1+
package ai.timefold.jpyinterpreter;
22

33
import java.util.Objects;
44

5-
import org.optaplanner.jpyinterpreter.types.PythonLikeType;
5+
import ai.timefold.jpyinterpreter.types.PythonLikeType;
66

77
public class FieldDescriptor {
88

jpyinterpreter/src/main/java/org/optaplanner/jpyinterpreter/FunctionMetadata.java renamed to jpyinterpreter/src/main/java/ai/timefold/jpyinterpreter/FunctionMetadata.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.optaplanner.jpyinterpreter;
1+
package ai.timefold.jpyinterpreter;
22

33
import java.util.List;
44
import java.util.Map;

jpyinterpreter/src/main/java/org/optaplanner/jpyinterpreter/GeneratorLocalVariableHelper.java renamed to jpyinterpreter/src/main/java/ai/timefold/jpyinterpreter/GeneratorLocalVariableHelper.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
1-
package org.optaplanner.jpyinterpreter;
1+
package ai.timefold.jpyinterpreter;
22

33
import java.lang.reflect.Modifier;
44
import java.util.HashMap;
55
import java.util.Map;
66

7+
import ai.timefold.jpyinterpreter.types.PythonCell;
8+
79
import org.objectweb.asm.ClassWriter;
810
import org.objectweb.asm.MethodVisitor;
911
import org.objectweb.asm.Opcodes;
1012
import org.objectweb.asm.Type;
11-
import org.optaplanner.jpyinterpreter.types.PythonCell;
1213

1314
public class GeneratorLocalVariableHelper extends LocalVariableHelper {
1415

jpyinterpreter/src/main/java/org/optaplanner/jpyinterpreter/InterpreterStartupOptions.java renamed to jpyinterpreter/src/main/java/ai/timefold/jpyinterpreter/InterpreterStartupOptions.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.optaplanner.jpyinterpreter;
1+
package ai.timefold.jpyinterpreter;
22

33
import java.nio.file.Path;
44

0 commit comments

Comments
 (0)