Commit Graph

76 Commits

Author SHA1 Message Date
b2027e3e44 Remove .travis.yml
Use GitHub Actions.
2020-12-08 11:04:08 +02:00
26eaa2d94f README.md: Add GitHub Actions badge 2020-12-08 11:03:53 +02:00
e3b95f6a30 Create maven.yml
Add GitHub Actions workflow to build.
2020-12-08 11:01:00 +02:00
5e545e37e2 README.md: Use travis-ci.com domain for badge link 2020-12-08 09:12:43 +02:00
3f711db1b2 README.md: Use travis-ci.com for badge 2020-12-08 09:03:24 +02:00
112cb8a133 Revert ".travis.yml: Use Ubuntu 20.04 "Focal" environment"
This reverts commit 4d59c1a00d25c455442f8944fde4c2015e7c55e0.

Something's wrong with Java 8 in Travis's Ubuntu Focal environment:

Expected feature release number in range of 9 to 16, but got: 8
2020-12-08 08:55:27 +02:00
4d59c1a00d .travis.yml: Use Ubuntu 20.04 "Focal" environment 2020-10-29 00:16:05 +03:00
2e779efb14 src/main/java: Adjust curation README
DSpace 6 doesn't have the `-l` option to limit the cache size.
2020-08-10 20:04:46 +03:00
735e759033 Adjust READMEs again... 2020-08-10 17:16:14 +03:00
271a9ce970 Adjust README.md files 2020-08-10 15:55:11 +03:00
6b72ddefc1 pom.xml: Move to next SNAPSHOT version 2020-08-08 13:14:03 +03:00
cea97aebe5 Version 6.0 v6.0 2020-08-08 13:13:28 +03:00
4bc7971ecb src/main/java: Remove debug comment 2020-08-07 22:55:35 +03:00
197aad0124 README.md: Add FixJpgJpgThumbnails 2020-08-07 22:48:09 +03:00
da1ecad238 src/main/java: DSpace 6 port of FixJpgJpgThumbnails.java
Need to use the new DSpace 6 service model in most places. Not sure
why addBitstream is no longer public, but removeBitstream is...
2020-08-07 22:45:07 +03:00
307480f249 Rename to cgspace-java-helpers again
I don't know what the hell happened.
2020-08-07 22:37:40 +03:00
4698b6eb38 README.md: Use badge from dspace6 branch 2020-08-06 15:49:25 +03:00
f1629f65fe README.md: Rename to CGSpace Java Helpers
Will eventually include more than just curation tasks.
2020-08-06 15:25:04 +03:00
29f6aff35e README.md: Update notes for DSpace 6 2020-08-05 12:40:55 +03:00
9bf487a336 pom.xml: Use 6.0-SNAPSHOT for DSpace 6 version
I think the most easily understandable versioning scheme is to use
the major number from the compatible DSpace version.
2020-08-05 12:33:25 +03:00
f50357b7cc README.md: Remove DSpace 6 TODO 2020-08-05 12:31:30 +03:00
f3ab89f7a1 CountryCodeTagger.java: Port to DSpace 6
We need to use the new DSpace 6 service API. Also, the way we read
task properties changes because of the configuration changes.

See: https://wiki.lyrasis.org/display/DSDOC6x/Curation+System
See: https://wiki.lyrasis.org/display/DSDOC6x/Configuration+Reference
2020-08-05 12:28:37 +03:00
5a467f92e0 pom.xml: Bump dependencies for DSpace 6 2020-08-04 15:37:39 +03:00
96e4ed6614 Add .idea
Apparently we should track *some* of .idea?
2020-08-04 15:34:31 +03:00
c1f209ef4f .gitignore: Add target and others 2020-08-04 15:32:34 +03:00
83602486c0 Use GitHub's JetBrains gitignore
See: https://github.com/github/gitignore/blob/master/Global/JetBrains.gitignore
2020-08-04 15:31:47 +03:00
28238440a4 Remove IntelliJ IDEA stuff 2020-08-04 15:30:47 +03:00
7251b85436 cgspace-countries.json: Remove Palestine
It's the same in the ISO 3166-1 list.
2020-08-04 14:52:36 +03:00
a2616460bf README.md: Use badge from ILRI repository 2020-08-03 14:47:10 +03:00
26f08e5903 README.md: Update 2020-08-03 14:43:38 +03:00
50a4f68b9d pom.xml: Add bits for deploying to OSSRH
Any time I run `mvn deploy` it will upload a snapshot to OSSRH with
the version "1.0-SNAPSHOT" and some timestamp. I still haven't fig-
ured out how to "promote a release".
2020-08-03 14:32:54 +03:00
03bfacf5d3 README.md: Add TravisCI badge 2020-08-03 14:32:31 +03:00
df4d9b313e Add TravisCI support 2020-08-03 14:29:17 +03:00
3a6e407765 README.md: Remove TODO about integrating with DSpace
I have now published the code on https://oss.sonatype.org/ via the
Sonatype OSSRH (OSS Repository Hosting) project. Now it is possible
to use it from DSpace's build system by adding it as a dependency
in the dspace/modules/additions/pom.xml.

See: https://issues.sonatype.org/browse/OSSRH-59650
See: https://central.sonatype.org/pages/ossrh-guide.html
2020-08-03 14:20:15 +03:00
af990c2670 README.md: Update mvn note 2020-08-02 23:52:12 +03:00
dcb0532be2 Change groupId to prepare for upload to Central
It's much easier to get your package verified on Central if it uses
a GitHub groupId. Otherwise you need to use DNS verification! This
changes the groupId:

- from: org.cgiar.cgspace.ctask
- to: io.github.ilri.cgspace

Also the package changed as well.

See: https://central.sonatype.org/pages/producers.html
2020-08-02 23:48:13 +03:00
497ce719c2 README.md: Adjust intro text 2020-08-02 23:20:29 +03:00
74caed79fa pom.xml: Use ILRI GitHub 2020-08-02 23:19:32 +03:00
820e09a08f pom.xml: Add link to GitHub project 2020-08-02 23:06:50 +03:00
3a805f9bf2 README.md: Add more documentation and notes 2020-08-02 22:55:23 +03:00
ca7deaac8f CountryCodeTagger.java: Remove unused variable
Some of the other curation tasks use an array of results.
2020-08-02 22:03:10 +03:00
e158e4bc98 CountryCodeTagger.java: Refactor adding of alpha2 codes
We can append the codes we will add to a List of Strings and then
actually apply them later in one addMetadata call, and update the
item with one item.update() call. This reduces identical code and
is more efficient.

Note that when testing this on a collection with thousands of items
I realized that it is really important to limit both the cache size
as well as set the database transaction model to be per object/item
or else you will crash due to Java heap issues. For example:

    $ ~/dspace/bin/dspace curate -t countrycodetagger -i 10568/3 -r - -l 500 -s object

See: https://wiki.lyrasis.org/display/DSPACE/Curation+Task+Cookbook
2020-08-02 18:33:32 +03:00
1c866bdf64 src/main/java: Remove unnecessary comments and prints 2020-08-02 18:32:04 +03:00
28b4707426 README.md: Add TODOs 2020-08-02 15:53:37 +03:00
cc35c45a05 Remove tests
They were automatically generated by Maven and I haven't created
proper ones yet.
2020-08-02 15:52:43 +03:00
e5d45e62be src/main/java: Refactor CountryCodeTagger.java
Now is much more modular and can easily, cleanly be extended to do
ISO 3166-1 Alpha3, numeric, etc...
2020-08-02 15:51:18 +03:00
a6d3653c9e README.md: Remove profile todo 2020-08-01 23:39:09 +03:00
6228f337e9 src/main/java: Skip items that have country codes
Originally I wasn't sure if I was going to try to parse each code,
check them against the mapping, and possibly correct them, but it's
easier to just skip items with codes unless we're in "force" mode.
2020-08-01 23:14:19 +03:00
4b553676dd src/main/java: Implement task "profiles"
The DSpace curation system has task properties that can be used to
create "profiles" of sorts. For example, if you set a custom task
name in curate.cfg:

    plugin.named.org.dspace.curate.CurationTask = \
        org.cgiar.cgspace.ctasks.CountryCodeTagger = countrycodetagger \
        org.cgiar.cgspace.ctasks.CountryCodeTagger = countrycodetagger.force

... then DSpace will look for countrycodetagger.cfg by default, and
countrycodetagger.force.cfg for the second task. We can set different
properties in each one, for example "force=true", and then operate
accordingly in the task when we check the value using taskProperty().

I will use this to force all country tags to be cleared and updated,
where by default we only tag if there are no existing country tags.

See: https://wiki.lyrasis.org/display/DSDOC5x/Curation+System
2020-08-01 23:04:35 +03:00
d4cd5bfd61 src/main/java: Optimize imports 2020-08-01 23:03:51 +03:00