You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+10-1Lines changed: 10 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,8 @@ All notable changes to this project will be documented in this file.
4
4
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
5
5
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
7
-
## [Unreleased] - 2020-09-22
7
+
## [Unreleased] - 2021-01-27
8
+
8
9
### Added
9
10
10
11
### Changed
@@ -13,9 +14,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
13
14
### Deprecated
14
15
15
16
### Removed
17
+
* Moved the example programs to a new repository. They were previously found in directories examples and replication, both of which have been removed. All of the examples are now located in the repository: https://github.com/cicirello/jpt-examples.
18
+
* Removed jars of the library from the repo. These have been available from Maven Central, GitHub Packages, and GitHub Releases, for quite some time. No need to store in repo, and it is inefficient to do so.
19
+
* Removed the zip files generated by javadoc of the indexes for the api website. These are not needed for search functionality, as javadoc also stores and uses the js files contained in these zips. Later versions of javadoc no longer generate these. Also gitignored these to prevent future storage.
16
20
17
21
### Fixed
18
22
23
+
### CI/CD
24
+
* Migrated build process from Ant to Maven, including GitHub workflows.
25
+
* Migrated workflow for generating library website from Ant to Maven.
|__Publications About the Library__|[](https://doi.org/10.21105/joss.00950)|
10
10
| :--- | :--- |
11
11
|__Packages and Releases__|[](https://search.maven.org/artifact/org.cicirello/jpt)[](https://github.com/cicirello/JavaPermutationTools/releases)[](https://zenodo.org/badge/latestdoi/139182095)|
12
-
|__Source and Build Info__|[](https://github.com/cicirello/JavaPermutationTools/actions?query=workflow%3Abuild)[](https://github.com/cicirello/JavaPermutationTools/actions?query=workflow%3Adocs)[](https://github.com/cicirello/JavaPermutationTools/blob/master/LICENSE)|
12
+
|__Source and Build Info__|[](https://github.com/cicirello/JavaPermutationTools/actions?query=workflow%3Abuild)[](https://github.com/cicirello/JavaPermutationTools/actions?query=workflow%3Abuild)[](https://github.com/cicirello/JavaPermutationTools/actions?query=workflow%3Adocs)[](https://github.com/cicirello/JavaPermutationTools/blob/master/LICENSE)|
13
13
14
14
## How to Cite
15
15
@@ -28,13 +28,9 @@ arrays, and other ordered data types).
28
28
## Repository Organization
29
29
30
30
The GitHub repository is organized as follows:
31
-
* The [/build](build) directory contains an ant build file, and other resources related to building the library.
32
-
* The [/dist](dist) directory contains the compiled jar files of the library.
33
-
* The [/docs](docs) directory contains the javadoc documentation in a sub-directory [/docs/api](docs/api). The /docs directory is also the location of the website for the project hosted via GitHub pages at https://jpt.cicirello.org/.
34
-
* The [/examples](examples) directory contains several example programs that use the library, and which demonstrate usage of various features.
35
-
* The [/replication](replication) directory includes source code that recreates results found in publications associated with the library.
36
-
* The [/src](src) directory contains all of the source code.
31
+
* The [/src](src) directory contains all of the source code for JavaPermutationTools.
37
32
* The [/tests](tests) directory contains JUnit test cases for all functionality of the library.
33
+
* The [/docs](docs) directory contains the javadoc documentation in a sub-directory /docs/api. The /docs directory is also the location of the website for the project hosted via GitHub pages at https://jpt.cicirello.org/.
38
34
39
35
## Java 8
40
36
@@ -48,38 +44,30 @@ correspond to incompatible API changes, differences in MINOR correspond
48
44
to introduction of backwards compatible new functionality, and PATCH
49
45
corresponds to backwards compatible bug fixes.
50
46
51
-
## Building the Library (with ant)
47
+
## Building the Library (with Maven)
52
48
53
-
The /build directory contains an ant build file. The build file
54
-
also executes the JUnit tests, and the build directory contains
55
-
the relevant jar files for the JUnit libraries. If you prefer,
56
-
you can replace these with the latest versions available
57
-
from https://junit.org/junit4/ (just be sure to edit the property
58
-
fields in the build.xml to point to the locations of the JUnit jar files).
49
+
The JavaPermutationTools library is built using Maven. The root of the
50
+
repository contains a Maven `pom.xml`. To build the library,
51
+
execute `mvn package` at the root of the repository, which
52
+
will compile all classes, run all tests, run javadoc, and generate
53
+
jar files of the library, the sources, and the javadocs. All build
54
+
outputs will then be found in the directory `target`.
59
55
60
-
To execute the build process do one of the following. If your working
61
-
directory is the build directory, then simply execute
62
-
`ant` from the command line. If your working directory is the
63
-
parent of build, then execute: `ant -f build/build.xml`
56
+
To include generation of a code coverage report during the build,
57
+
execute `mvn package -Pcoverage` at the root of the repository to
58
+
enable a Maven profile that executes JaCoCo during the test
59
+
phase. The JaCoCo report will also be found in the target directory.
64
60
65
-
The default of the provided ant build file, compiles all source
66
-
files and all JUnit tests, executes all test cases,
67
-
generates the jar file of the library, and compiles the example
68
-
programs and the experiment replication programs. The
69
-
build process will terminate on any test case failures.
61
+
## Example Programs
70
62
71
-
If you use the ant build file, the build will generate the
72
-
following directories: bin (for the compiled Java classes),
73
-
testbin (for the compiled JUnit tests), dist (for the jar file of the library),
74
-
and exbin (for the compiled example
75
-
programs and experiment replication programs).
76
-
77
-
## Running the Example Programs
78
-
79
-
The examples directory contains example usage of several of the classes of the API.
80
-
The replication directory additionally contains more complex examples that replicate the
81
-
experiments from published papers that have used the library. Those directories contain
82
-
READMEs that provide more detail on the examples, including on running the examples.
63
+
There are several example programs available in a separate
64
+
repository: [cicirello/jpt-examples](https://github.com/cicirello/jpt-examples). The
65
+
examples repository contains example usage of several of the classes of the
66
+
library. Each of the examples contains detailed comments within the source
67
+
code explaining the example. Running the examples without reading the source
68
+
comments is not advised. Some of the example in the examples repository are
69
+
based on the experiments from published papers that have either used the library
70
+
directly, or which led to some of the code in the library.
83
71
84
72
## Importing the Library from Maven Central
85
73
@@ -91,7 +79,7 @@ Central since version 2.1.2).
91
79
<dependency>
92
80
<groupId>org.cicirello</groupId>
93
81
<artifactId>jpt</artifactId>
94
-
<version>2.1.2</version>
82
+
<version>2.2.0</version>
95
83
</dependency>
96
84
```
97
85
@@ -111,6 +99,12 @@ and (2) add the following to the repositories section of your pom.xml:
111
99
</repository>
112
100
```
113
101
102
+
## Downloading Jar Files
103
+
104
+
If you don't use a dependency manager that supports importing from Maven Central,
105
+
or if you simply prefer to download manually, prebuilt jars are also attached to
106
+
each [GitHub Release](https://github.com/cicirello/JavaPermutationTools).
107
+
114
108
## License
115
109
116
110
The JPT library is licensed under the [GNU General Public License 3.0](https://www.gnu.org/licenses/gpl-3.0.en.html).
0 commit comments