Skip to content

Commit 974d2c8

Browse files
Craigacpjhalexand
authored andcommitted
Bumping to 5.2.0
1 parent 55bf19f commit 974d2c8

File tree

4 files changed

+63
-22
lines changed

4 files changed

+63
-22
lines changed

README-Configuration.md

+9-3
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,10 @@ The OLCUT Configuration System uses runtime dependency-injection to instantiate
44
configurable components on the fly based on the contents of your configuration
55
file. It allows you to both specify the parameters ("properties") that should
66
be given to the components at initialization time as well as which types of
7-
objects should actually be instantiated for each component. It uses an XML
8-
file to describe the configuration. OLCUT uses Java Annotations extensively
9-
to facilitate code integration.
7+
objects should actually be instantiated for each component. By default it uses
8+
an XML file to describe the configuration, though edn, json and protobuf
9+
formats are available. OLCUT uses Java Annotations extensively to facilitate
10+
code integration.
1011

1112

1213
## Basic Configuration / Initialization
@@ -123,7 +124,9 @@ The supported list of annotated field types are:
123124
* `double`, `Double`
124125
* `String`
125126
* Primitive array types
127+
* `boolean[]`
126128
* `byte[]`
129+
* `char[]`
127130
* `short[]`
128131
* `int[]`
129132
* `long[]`
@@ -352,3 +355,6 @@ list of fully qualified class names which implement `FileFormatFactory`. For exa
352355

353356
will insert the JsonConfigFactory into the configuration manager before the
354357
configuration is loaded.
358+
359+
Support for protobuf config formats was added in OLCUT 5.2.
360+

README.md

+16-15
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,12 @@ Maven:
2323
<dependency>
2424
<groupId>com.oracle.labs.olcut</groupId>
2525
<artifactId>olcut-core</artifactId>
26-
<version>5.1.6</version>
26+
<version>5.2.0</version>
2727
</dependency>
2828
```
2929
or from Gradle:
3030
```groovy
31-
implementation 'com.oracle.labs.olcut:olcut-core:5.1.6'
31+
implementation 'com.oracle.labs.olcut:olcut-core:5.2.0'
3232
```
3333

3434
The `olcut-extras` artifact is designed as a small tool for developers, as such you should compile the appropriate
@@ -37,12 +37,13 @@ version based on your needs.
3737
## Configuration System
3838

3939
The OLCUT [Configuration System](README-Configuration.md) uses runtime
40-
dependency-injection to instantiate configurable components on the fly based on
41-
the contents of your configuration file. It allows you to both specify the parameters
42-
("properties") that should be given to the components at initialization time as well
43-
as which types of objects should actually be instantiated for each component. It
44-
uses an XML file to describe the configuration. OLCUT uses Java Annotations extensively
45-
to facilitate code integration.
40+
dependency-injection to instantiate configurable components on the fly based on
41+
the contents of your configuration file. It allows you to both specify the
42+
parameters ("properties") that should be given to the components at
43+
initialization time as well as which types of objects should actually be
44+
instantiated for each component. By default it uses an XML file to describe the
45+
configuration, though edn, json and protobuf formats are available. OLCUT uses
46+
Java Annotations extensively to facilitate code integration.
4647

4748
```xml
4849
<config>
@@ -90,7 +91,7 @@ the appropriate fields.
9091

9192
This is just a small sample of what the Configuration system can do. It
9293
supports **inheritance**, many configurable types, **command line overrides**, self-description,
93-
and multiple file formats including **JSON**.
94+
and multiple file formats including **JSON**, **edn**, and **protobuf**.
9495

9596
Read all about the [Configuration System](README-Configuration.md).
9697

@@ -196,12 +197,12 @@ Read more about the [Command Interpreter](README-Commands.md).
196197

197198
## Provenance
198199

199-
OLCUT provides a system for extracting the state of configurable objects into
200-
immutable Provenance objects used to record the state of a computation. It's heavily
201-
used in [Tribuo](https://tribuo.org) to record a trainer and dataset configuration.
202-
It can optionally include
203-
non-configurable state. It supports conversion to a marshalled format which can be
204-
easily serialised and deserialised from JSON or protobuf.
200+
OLCUT provides a system for extracting the state of configurable objects into
201+
immutable Provenance objects used to record the state of a computation. It's
202+
heavily used in [Tribuo](https://tribuo.org) to record a trainer and dataset
203+
configuration. It can optionally include non-configurable state. It supports
204+
conversion to a marshalled format which can be easily serialised and
205+
deserialised from JSON, xml or protobuf.
205206

206207
Provenance objects can be converted back into a list of configurations, which can be
207208
used to recreate the config file that generated that provenance. This can be used

THIRD_PARTY_LICENSES.txt

+37-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
jline 3.19.0
1+
jline 3.20.0
22

33
Copyright (c) 2002-2018, the original author or authors.
44
All rights reserved.
@@ -35,7 +35,7 @@ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
3535
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
3636
OF THE POSSIBILITY OF SUCH DAMAGE.
3737

38-
jackson-core, jackson-databind 2.12.2
38+
jackson-core, jackson-databind 2.12.5
3939

4040

4141
Apache License
@@ -242,7 +242,7 @@ jackson-core, jackson-databind 2.12.2
242242

243243
junit 5.7.1
244244

245-
Copyright 2015-2020 the original author or authors.
245+
Copyright 2015-2021 the original author or authors.
246246

247247
Eclipse Public License - v 2.0
248248
==============================
@@ -576,3 +576,37 @@ this Agreement will bring a legal action under this Agreement more than
576576
one year after the cause of action arose. Each party waives its rights to
577577
a jury trial in any resulting litigation.
578578

579+
protobuf-java 3.17.3
580+
581+
Copyright 2008 Google Inc. All rights reserved.
582+
583+
Redistribution and use in source and binary forms, with or without
584+
modification, are permitted provided that the following conditions are
585+
met:
586+
587+
* Redistributions of source code must retain the above copyright
588+
notice, this list of conditions and the following disclaimer.
589+
* Redistributions in binary form must reproduce the above
590+
copyright notice, this list of conditions and the following disclaimer
591+
in the documentation and/or other materials provided with the
592+
distribution.
593+
* Neither the name of Google Inc. nor the names of its
594+
contributors may be used to endorse or promote products derived from
595+
this software without specific prior written permission.
596+
597+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
598+
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
599+
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
600+
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
601+
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
602+
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
603+
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
604+
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
605+
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
606+
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
607+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
608+
609+
Code generated by the Protocol Buffer compiler is owned by the owner
610+
of the input file used when generating it. This code is not
611+
standalone and requires a support library to be linked with it. This
612+
support library is itself covered by the above license.

pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
<version>${revision}</version>
3636
<packaging>pom</packaging>
3737
<properties>
38-
<revision>5.2.0-SNAPSHOT</revision>
38+
<revision>5.2.0</revision>
3939
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
4040
<maven.compiler.source>1.8</maven.compiler.source>
4141
<maven.compiler.target>1.8</maven.compiler.target>

0 commit comments

Comments
 (0)