From b5abc5b0f79bcb9d1697b0adc56d7d28a0f2df10 Mon Sep 17 00:00:00 2001 From: Jens Wille Date: Sat, 6 Nov 2021 15:34:27 +0100 Subject: [PATCH 1/8] Fix Gradle deprecation warnings. - The compile configuration has been deprecated for dependency declaration. This will fail with an error in Gradle 7.0. Please use the implementation configuration instead. - The runtime configuration has been deprecated for dependency declaration. This will fail with an error in Gradle 7.0. Please use the runtimeOnly configuration instead. - The version property has been deprecated. This is scheduled to be removed in Gradle 7.0. Please use the archiveVersion property instead. - The baseName property has been deprecated. This is scheduled to be removed in Gradle 7.0. Please use the distributionBaseName property instead. - The extension property has been deprecated. This is scheduled to be removed in Gradle 7.0. Please use the archiveExtension property instead. Unresolved: - The maven plugin has been deprecated. This is scheduled to be removed in Gradle 7.0. Please use the maven-publish plugin instead. --- metafacture-runner/build.gradle | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/metafacture-runner/build.gradle b/metafacture-runner/build.gradle index 122f29ba6..a95bc7510 100644 --- a/metafacture-runner/build.gradle +++ b/metafacture-runner/build.gradle @@ -30,9 +30,9 @@ configurations { } dependencies { - compile project(':metafacture-framework') - compile project(':metafacture-commons') - compile project(':metafacture-flux') + implementation project(':metafacture-framework') + implementation project(':metafacture-commons') + implementation project(':metafacture-flux') plugins project(':metafacture-biblio') plugins project(':metafacture-csv') @@ -67,7 +67,7 @@ dependencies { // class loader which was used to load the classes of the slf4j-api. Until // a solution is found for this problem, the binding need to be placed on the // class path: - runtime 'org.slf4j:slf4j-log4j12:1.7.21' + runtimeOnly 'org.slf4j:slf4j-log4j12:1.7.21' // The following dependencies are placed in the "provided" scope to prevent // them from being included in the class path but still have them available @@ -88,7 +88,7 @@ jar { manifest { attributes( 'Implementation-Title': project.name, - 'Implementation-Version': version, + 'Implementation-Version': archiveVersion, 'Main-Class': 'org.metafacture.runner.Flux', 'Class-Path': configurations.runtimeClasspath.files.collect { it.name }.join(' ')) @@ -104,7 +104,7 @@ jar { distributions { main { - baseName = parent.project.name + distributionBaseName = parent.project.name contents { dirMode = 0755 fileMode = 0644 @@ -141,7 +141,7 @@ def metamorph() { distTar { compression = Compression.GZIP classifier = 'dist' - extension = 'tar.gz' + archiveExtension = 'tar.gz' } distZip { From 8bb0808d9974546aeb59593a4061bef2d6a97a73 Mon Sep 17 00:00:00 2001 From: Jens Wille Date: Sat, 6 Nov 2021 15:49:49 +0100 Subject: [PATCH 2/8] Update README. - Spelling, formatting, URLs. - Fixed statement about automatic snapshot builds (cf. #411). --- README.md | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 8dec74e81..c40a83b63 100644 --- a/README.md +++ b/README.md @@ -4,11 +4,11 @@ Metafacture is a toolkit for processing semi-structured data with a focus on library metadata. It provides a versatile set of tools for reading, writing and transforming data. Metafacture can be used as a stand-alone application or as a Java library in other applications. The name Metafacture is a portmanteau of the words *meta*data and manu*facture*. -Metafacture includes a [large number of modules](https://github.com/metafacture/metafacture-documentation/blob/master/flux-commands.md) for operating on semi-structured data. These modules can be combined to build pipelines to perform complex metadata processing tasks. The pipelines can be constructed either in Java code or with the domain-specific language **Flux**. One of the core features of Metafacture is the **Metamorph** module. Metamorph is an xml-based language for specifying transformations of semi-structured data. It can be seamlessly integrated into Java code. +Metafacture includes a [large number of modules](https://github.com/metafacture/metafacture-documentation/blob/master/flux-commands.md) for operating on semi-structured data. These modules can be combined to build pipelines to perform complex metadata processing tasks. The pipelines can be constructed either in Java code or with the domain-specific language **Flux**. One of the core features of Metafacture is the **Metamorph** module. Metamorph is an XML-based language for specifying transformations of semi-structured data. It can be seamlessly integrated into Java code. At its heart Metafacture is a framework for implementing modules for metadata processing. This makes Metafacture easily extendable with additional modules. The [plugins and tools page](https://github.com/metafacture/metafacture-core/wiki/Plugins-and-Tools) on the wiki shows supplementary packages and projects which extend Metafacture. -Originally, Metafacture was developed as part of the [Culturegraph](http://culturegraph.org) platform but it is developed independently now and used by others, too: [see who uses Metafacture](https://github.com/metafacture/metafacture-core/wiki/Who-uses-Metafacture). +Originally, Metafacture was developed as part of the [Culturegraph](http://www.culturegraph.org) platform but it is developed independently now and used by others, too: [see who uses Metafacture](https://github.com/metafacture/metafacture-core/wiki/Who-uses-Metafacture). # Getting started @@ -16,31 +16,31 @@ You can either use Metafacture as a stand-alone application or include it as a J ## Metafacture as a stand-alone application -If you are only interested in running Flux scripts without doing any Java programming this is the way to go. The instructions assume that you are using a *nix-like shell. [See more information in the wiki page about Flux](https://github.com/metafacture/metafacture-core/wiki/Flux-user-guide). +If you are only interested in running Flux scripts without doing any Java programming this is the way to go. The instructions assume that you are using a \*nix-like shell. [See more information in the wiki page about Flux](https://github.com/metafacture/metafacture-core/wiki/Flux-user-guide). -1. Download the latest distribution package from the [metafacture-core/releases](https://github.com/metafacture/metafacture-core/releases) page. Make sure that you do download a distribution package and _not_ a source code package (the file name should include *-dist*). +1. Download the latest distribution package from the [release page](https://github.com/metafacture/metafacture-core/releases). Make sure that you do download a distribution package and *not* a source code package (the file name should include `*-dist*`). 2. Extract the downloaded archive: ```bash - $ tar xzf metafacture-core-VERSION-dist.tar.gz + $ tar xzf metafacture-core-$VERSION-dist.tar.gz ``` - This will create a new directory containing a ready-to-use metafacture distribution. + This will create a new directory containing a ready-to-use Metafacture distribution. 3. Change into the newly created directory: ```bash - $ cd metafacture-core-VERSION + $ cd metafacture-core-$VERSION ``` 4. Run one of the example scripts: ```bash $ ./flux.sh examples/read/marc21/read-marc21.flux ``` - This example will print a number of marc21 records on standard out. + This example will print a number of MARC 21 records on standard output. -The _examples_ folder contains many more examples which provide a good starting point for learning metafacture. If you have any questions please join our [mailing list](http://lists.dnb.de/mailman/listinfo/metafacture) or use our issue-based discussion forum over at [metafacture-documentation](https://github.com/metafacture/metafacture-documentation). +The `examples` folder contains many more examples which provide a good starting point for learning Metafacture. If you have any questions please join our [mailing list](http://lists.dnb.de/mailman/listinfo/metafacture) or use our issue-based discussion forum over at [metafacture-documentation](https://github.com/metafacture/metafacture-documentation). -## Using Metafacture as a Java libary +## Using Metafacture as a Java library -If you want use Metafacture in your own Java projects all you need to add some dependencies to your project. As of Metafacture 5 the single metafacture-core package has been replaced with a number of domain-specific packages. You can find the list of packages on [Maven Central](https://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.metafacture%22). +If you want to use Metafacture in your own Java projects all you need is to add some dependencies to your project. As of Metafacture 5, the single metafacture-core package has been replaced with a number of domain-specific packages. You can find the list of packages on [Maven Central](https://search.maven.org/search?q=g:org.metafacture). Alternatively, you can simply guess the package names from the top-level folders in the source code repository -- they are the same. For instance, if you want to use Metamorph in your project, simply add the following dependency to your `pom.xml`: @@ -48,7 +48,7 @@ Alternatively, you can simply guess the package names from the top-level folders org.metafacture metamorph - VERSION + $VERSION ``` @@ -56,11 +56,11 @@ or if Gradle is your build tool of choice use: ```groovy dependencies { - implementation 'org.metafacture:metamorph:VERSION' + implementation 'org.metafacture:metamorph:$VERSION' } ``` -Our integration server automatically publishes successful builds of all branches as snapshot versions on [Sonatype OSS Repository](https://oss.sonatype.org/index.html#nexus-search;quick~metafacture). The version number is derived from the branch name. Snapshot builds from the master branch always have the version "master-SNAPSHOT". +Occasionally, we publish snapshot builds on [Sonatype OSS Repository](https://oss.sonatype.org/index.html#nexus-search;gav~org.metafacture~~~~). The version number is derived from the branch name. Snapshot builds from the master branch always have the version `master-SNAPSHOT`.