Skip to content

Commit 2c16452

Browse files
Merge branch 'v2.4.0'
2 parents a5076b2 + 7e56da6 commit 2c16452

File tree

14 files changed

+155
-27
lines changed

14 files changed

+155
-27
lines changed

Jenkinsfile

+2-2
Original file line numberDiff line numberDiff line change
@@ -75,9 +75,9 @@ pipeline {
7575
googlechatnotification url: 'id:gchat_java',
7676
message: "*Publishing* ${currentBuild.fullDisplayName} to Bintray...\n${env.BUILD_URL}"
7777

78-
// Not supplying internal Maven repo info to ensure dependencies are fetched from public repo.
78+
// Note: supply internal Maven repo as tests use native dependencies (can't publish those without the Java libraries).
7979
// Note: add quotes around URL parameter to avoid line breaks due to semicolon in URL.
80-
sh "./gradlew $gradleArgs " +
80+
sh "./gradlew $gradleArgs $MVN_REPO_ARGS " +
8181
"\"-PpreferredRepo=${BINTRAY_URL}\" -PpreferredUsername=${BINTRAY_LOGIN_USR} -PpreferredPassword=${BINTRAY_LOGIN_PSW} " +
8282
"uploadArchives"
8383

README.md

+2-4
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,7 @@
44
ObjectBox is a superfast object-oriented database with strong relation support.
55
ObjectBox is embedded into your Android, Linux, macOS, or Windows app.
66

7-
**Latest version: [2.4.0 RC (2019/10/03)](https://objectbox.io/changelog)**
8-
9-
**Latest stable version: [2.3.4 (2019/03/19)](https://objectbox.io/changelog)**
7+
**Latest version: [2.4.0 (2019/10/15)](https://objectbox.io/changelog)**
108

119
Demo code using ObjectBox:
1210

@@ -32,7 +30,7 @@ Add this to your root build.gradle (project level):
3230

3331
```groovy
3432
buildscript {
35-
ext.objectboxVersion = '2.3.4'
33+
ext.objectboxVersion = '2.4.0'
3634
dependencies {
3735
classpath "io.objectbox:objectbox-gradle-plugin:$objectboxVersion"
3836
}

build.gradle

+4-4
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,16 @@ buildscript {
66
// version post fix: '-<value>' or '' if not defined; e.g. used by CI to pass in branch name
77
def versionPostFixValue = project.findProperty('versionPostFix')
88
def versionPostFix = versionPostFixValue ? "-$versionPostFixValue" : ''
9-
//ob_version = "2.4.0$versionPostFix-SNAPSHOT"
10-
ob_version = "2.4.0-RC" // Release; don't use versionPostFix
9+
// ob_version = "2.4.0$versionPostFix-SNAPSHOT"
10+
ob_version = "2.4.0"
1111
println "ObjectBox Java version $ob_version"
1212

1313
ob_expected_version = project.hasProperty('expectedVersion') ? project.property('expectedVersion') : 'UNDEFINED'
1414

1515
// Core version for tests
1616
// Be careful to diverge here; easy to forget and hard to find JNI problems
17-
//ob_native_version = "2.4.0-dev-SNAPSHOT"
18-
ob_native_version = "2.4.0-RC"
17+
// ob_native_version = "2.4.0-dev-SNAPSHOT"
18+
ob_native_version = "2.4.0"
1919

2020
def osName = System.getProperty("os.name").toLowerCase()
2121
objectboxPlatform = osName.contains('linux') ? 'linux'

objectbox-java-api/build.gradle

+1-7
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,8 @@ sourceCompatibility = 1.7
77

88
javadoc {
99
failOnError = false
10-
title = " ObjectBox API ${version} API"
10+
title = "ObjectBox API ${version} API"
1111
options.bottom = 'Available under the Apache License, Version 2.0 - <i>Copyright &#169; 2017-2019 <a href="http://objectbox.io/">ObjectBox Ltd</a>. All Rights Reserved.</i>'
12-
doLast {
13-
copy {
14-
from '../javadoc-style'
15-
into "build/docs/javadoc/"
16-
}
17-
}
1812
}
1913

2014
task javadocJar(type: Jar, dependsOn: javadoc) {
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
/*
2+
* Copyright 2019 ObjectBox Ltd. All rights reserved.
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
17+
/**
18+
* Annotations to mark APIs as for example {@link io.objectbox.annotation.apihint.Internal @Internal}
19+
* or {@link io.objectbox.annotation.apihint.Experimental @Experimental}.
20+
*/
21+
package io.objectbox.annotation.apihint;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
/*
2+
* Copyright 2019 ObjectBox Ltd. All rights reserved.
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
17+
/**
18+
* Annotations to mark a class as an {@link io.objectbox.annotation.Entity @Entity},
19+
* to specify the {@link io.objectbox.annotation.Id @Id} property,
20+
* to create an {@link io.objectbox.annotation.Index @Index} or
21+
* a {@link io.objectbox.annotation.Transient @Transient} property.
22+
* <p>
23+
* For more details look at the documentation of individual classes and
24+
* <a href="https://docs.objectbox.io/entity-annotations">docs.objectbox.io/entity-annotations</a>.
25+
*/
26+
package io.objectbox.annotation;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
/*
2+
* Copyright 2019 ObjectBox Ltd. All rights reserved.
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
17+
/**
18+
* For use with {@link io.objectbox.annotation.Convert @Convert}: {@link io.objectbox.converter.PropertyConverter}
19+
* to convert custom property types.
20+
* <p>
21+
* For more details look at the documentation of individual classes and
22+
* <a href="https://docs.objectbox.io/advanced/custom-types">docs.objectbox.io/advanced/custom-types</a>.
23+
*/
24+
package io.objectbox.converter;

objectbox-java/build.gradle

+20-4
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ dependencies {
2424

2525
javadoc {
2626
failOnError = false
27-
title = " ObjectBox Java ${version} API"
27+
title = "ObjectBox Java ${version} API"
2828
options.bottom = 'Available under the Apache License, Version 2.0 - <i>Copyright &#169; 2017-2019 <a href="http://objectbox.io/">ObjectBox Ltd</a>. All Rights Reserved.</i>'
2929
exclude("**/com/google/**")
3030
exclude("**/io/objectbox/Cursor.java")
@@ -41,14 +41,30 @@ javadoc {
4141
if (!srcApi.directory) throw new GradleScriptException("Not a directory: ${srcApi}", null)
4242
source += srcApi
4343
doLast {
44+
// Note: frequently check the vanilla stylesheet.css if values still match.
45+
def stylesheetPath = "$buildDir/docs/javadoc/stylesheet.css"
46+
4447
// Primary background
45-
ant.replace(file: "build/docs/javadoc/stylesheet.css", token: "background-color:#4D7A97", value: "background-color:#17A6A6")
48+
ant.replace(file: stylesheetPath, token: "#4D7A97", value: "#17A6A6")
4649

4750
// "Active" background
48-
ant.replace(file: "build/docs/javadoc/stylesheet.css", token: "background-color:#F8981D", value: "background-color:#7DDC7D")
51+
ant.replace(file: stylesheetPath, token: "#F8981D", value: "#7DDC7D")
4952

5053
// Hover
51-
ant.replace(file: "build/docs/javadoc/stylesheet.css", token: "color:#bb7a2a", value: "color:#E61955")
54+
ant.replace(file: stylesheetPath, token: "#bb7a2a", value: "#E61955")
55+
56+
// Note: in CSS stylesheets the last added rule wins, so append to default stylesheet.
57+
// Code blocks
58+
file(stylesheetPath).append("pre {\nwhite-space: normal;\noverflow-x: auto;\n}\n")
59+
// Member summary tables
60+
file(stylesheetPath).append(".memberSummary {\noverflow: auto;\n}\n")
61+
// Descriptions and signatures
62+
file(stylesheetPath).append(".block {\n" +
63+
" display:block;\n" +
64+
" margin:3px 10px 2px 0px;\n" +
65+
" color:#474747;\n" +
66+
" overflow:auto;\n" +
67+
"}")
5268
}
5369
}
5470

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
/*
2+
* Copyright 2019 ObjectBox Ltd. All rights reserved.
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
17+
/**
18+
* Various exceptions thrown by ObjectBox.
19+
*/
20+
package io.objectbox.exception;

objectbox-java/src/main/java/io/objectbox/package-info.java

+14
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,20 @@
1414
* limitations under the License.
1515
*/
1616

17+
/**
18+
* ObjectBox is an an easy to use, object-oriented lightweight database and a full alternative to SQLite.
19+
* <p>
20+
* The following core classes are the essential interface to ObjectBox:
21+
* <ul>
22+
* <li>MyObjectBox: Generated by the Gradle plugin, supplies a {@link io.objectbox.BoxStoreBuilder}
23+
* to build a BoxStore for your app.</li>
24+
* <li>{@link io.objectbox.BoxStore}: The database interface, allows to manage Boxes.</li>
25+
* <li>{@link io.objectbox.Box}: Persists and queries for entities, there is one for each entity.</li>
26+
* </ul>
27+
* <p>
28+
* For more details look at the documentation of individual classes and
29+
* <a href="https://docs.objectbox.io">docs.objectbox.io</a>.
30+
*/
1731
@ParametersAreNonnullByDefault
1832
package io.objectbox;
1933

objectbox-java/src/main/java/io/objectbox/query/package-info.java

+7
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,13 @@
1414
* limitations under the License.
1515
*/
1616

17+
/**
18+
* Classes related to {@link io.objectbox.query.QueryBuilder building}
19+
* a {@link io.objectbox.query.Query} or {@link io.objectbox.query.PropertyQuery}.
20+
* <p>
21+
* For more details look at the documentation of individual classes and
22+
* <a href="https://docs.objectbox.io/queries">docs.objectbox.io/queries</a>.
23+
*/
1724
@ParametersAreNonnullByDefault
1825
package io.objectbox.query;
1926

objectbox-java/src/main/java/io/objectbox/reactive/package-info.java

+7
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,13 @@
1414
* limitations under the License.
1515
*/
1616

17+
/**
18+
* Classes to {@link io.objectbox.reactive.SubscriptionBuilder configure}
19+
* a {@link io.objectbox.reactive.DataSubscription} for observing box or query changes.
20+
* <p>
21+
* For more details look at the documentation of individual classes and
22+
* <a href="https://docs.objectbox.io/data-observers-and-rx">docs.objectbox.io/data-observers-and-rx</a>.
23+
*/
1724
@ParametersAreNonnullByDefault
1825
package io.objectbox.reactive;
1926

objectbox-java/src/main/java/io/objectbox/relation/package-info.java

+7
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,13 @@
1414
* limitations under the License.
1515
*/
1616

17+
/**
18+
* Classes to manage {@link io.objectbox.relation.ToOne} and {@link io.objectbox.relation.ToMany}
19+
* relations between entities.
20+
* <p>
21+
* For more details look at the documentation of individual classes and
22+
* <a href="https://docs.objectbox.io/relations">docs.objectbox.io/relations</a>.
23+
*/
1724
@ParametersAreNonnullByDefault
1825
package io.objectbox.relation;
1926

objectbox-rxjava/build.gradle

-6
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,6 @@ javadoc {
1818
title = "ObjectBox RxJava2 ${version} API"
1919
excludes = [] // Unfinished APIs if any
2020
options.bottom = 'Available under the Apache License, Version 2.0 - <i>Copyright &#169; 2018-2019 <a href="http://objectbox.io/">ObjectBox Ltd</a>. All Rights Reserved.</i>'
21-
doLast {
22-
copy {
23-
from '../javadoc-style/'
24-
into "build/docs/javadoc/"
25-
}
26-
}
2721
}
2822

2923
task javadocJar(type: Jar, dependsOn: javadoc) {

0 commit comments

Comments
 (0)