Skip to content

Commit

Permalink
Set the minimum Java version to 11.
Browse files Browse the repository at this point in the history
Deprecate an enumeration value used for identifying the Java 8 environment.
  • Loading branch information
desruisseaux committed Oct 12, 2023
1 parent 9bc47ec commit 1a08849
Show file tree
Hide file tree
Showing 10 changed files with 21 additions and 21 deletions.
8 changes: 4 additions & 4 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,7 @@ For fields that have already been checked against null, use `@RequiresNonNull`.
or `org.postgresql.util.internal.Nullness.castNonNull(T, String)`.

* You can configure postfix completion in IntelliJ IDEA via `Preferences -> Editor -> General -> Postfix Completion`
key: `cnn`, applicable element type: `non-primitive`, `org.postgresql.util.internal.Nullness.castNonNull($EXPR$)`.
key: `cnn`, applicable element type: `non-primitive`, `org.postgresql.util.internal.Nullness.castNonNull($EXPR$)`.

* The Checker Framework comes with an annotated JDK, however, there might be invalid annotations.
In that cases, stub files can be placed to `/config/checkerframework` to override the annotations.
Expand All @@ -182,7 +182,7 @@ This is explained in the [Java Language Specification](https://docs.oracle.com/j
@Nullable String[] x;

// array: nullable, elements: nullable
@Nullable String @Nullable [] x;
@Nullable String @Nullable [] x;

// arrays: nullable, elements: nullable
// x: non-nullable
Expand Down Expand Up @@ -308,8 +308,8 @@ https://guides.github.com/introduction/flow/.
Remember to test proposed PgJDBC patches when running against older PostgreSQL
versions where possible, not just against the PostgreSQL you use yourself.

You also need to test your changes with older JDKs. PgJDBC must support JDK8
("Java 1.8") and newer.
You also need to test your changes with older JDKs. PgJDBC must support JDK11
("Java 11") and newer.

You can get old JDK versions from the [Oracle Java Archive](http://www.oracle.com/technetwork/java/archive-139210.html).

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ tasks.configureEach<Javadoc> {
addBooleanOption("Xdoclint:all,-missing", true)
// javadoc: error - The code being documented uses modules but the packages
// defined in https://docs.oracle.com/javase/9/docs/api/ are in the unnamed module
source = "1.8"
source = "11"
docEncoding = "UTF-8"
charSet = "UTF-8"
encoding = "UTF-8"
Expand Down
2 changes: 1 addition & 1 deletion docs/content/development/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ The PostgreSQL JDBC driver has some unique properties that you should be aware o

The following tools are required to build and test the driver:

* [Java 8 Standard Edition Development Kit](https://java.oracle.com) At least JDK 1.8
* [Java 8 Standard Edition Development Kit](https://java.oracle.com) At least JDK 11
* [Gradle](https://gradle.org) At least 7.5
* [Git SCM](https://git-scm.com)
* [A PostgreSQL instance](https://www.postgresql.org) to run the tests.
Expand Down
2 changes: 1 addition & 1 deletion packaging/rpm/postgresql-jdbc.spec.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ Source0: https://repo1.maven.org/maven2/org/postgresql/postgresql/%{version}/pos
Provides: pgjdbc = %version-%release

BuildArch: noarch
BuildRequires: java-devel >= 1.8
BuildRequires: java-devel >= 11
BuildRequires: maven-local
BuildRequires: maven-plugin-bundle
BuildRequires: classloader-leak-test-framework
Expand Down
3 changes: 2 additions & 1 deletion pgjdbc/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -172,6 +172,7 @@ val generateGettextSources by tasks.registering {
}

tasks.compileJava {
options.release = 11
if (enableGettext) {
dependsOn(generateGettextSources)
} else {
Expand Down Expand Up @@ -248,7 +249,7 @@ val osgiJar by tasks.registering(Bundle::class) {
Bundle-SymbolicName: org.postgresql.jdbc
Bundle-Name: PostgreSQL JDBC Driver
Bundle-Copyright: Copyright (c) 2003-2020, PostgreSQL Global Development Group
Require-Capability: osgi.ee;filter:="(&(|(osgi.ee=J2SE)(osgi.ee=JavaSE))(version>=1.8))"
Require-Capability: osgi.ee;filter:="(&(|(osgi.ee=J2SE)(osgi.ee=JavaSE))(version>=11))"
Provide-Capability: osgi.service;effective:=active;objectClass=org.osgi.service.jdbc.DataSourceFactory;osgi.jdbc.driver.class=org.postgresql.Driver;osgi.jdbc.driver.name=PostgreSQL JDBC Driver
"""
)
Expand Down
4 changes: 2 additions & 2 deletions pgjdbc/reduced-pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@
</organization>

<properties>
<!-- Require JDK 1.8 or later -->
<javac.target>1.8</javac.target>
<!-- Require JDK 11 or later -->
<javac.target>11</javac.target>
<encoding>UTF-8</encoding>
<project.build.sourceEncoding>${encoding}</project.build.sourceEncoding>
<project.reporting.outputEncoding>${encoding}</project.reporting.outputEncoding>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,7 @@
<setting id="org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column" value="false"/>
<setting id="org.eclipse.jdt.core.compiler.source" value="1.8"/>
<setting id="org.eclipse.jdt.core.compiler.source" value="11"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.tabulation.size" value="2"/>
Expand All @@ -184,7 +184,7 @@
<setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement" value="do not insert"/>
<setting id="org.eclipse.jdt.core.compiler.codegen.targetPlatform" value="1.8"/>
<setting id="org.eclipse.jdt.core.compiler.codegen.targetPlatform" value="11"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_switch" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters" value="insert"/>
Expand Down Expand Up @@ -252,7 +252,7 @@
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch" value="do not insert"/>
<setting id="org.eclipse.jdt.core.compiler.compliance" value="1.8"/>
<setting id="org.eclipse.jdt.core.compiler.compliance" value="11"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments" value="do not insert"/>
Expand Down
9 changes: 6 additions & 3 deletions pgjdbc/src/main/java/org/postgresql/core/JavaVersion.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,13 @@

public enum JavaVersion {
// Note: order is important,

/**
* @deprecated Java 1.8 is not supported anymore.
*/
@Deprecated
v1_8,

other;

private static final JavaVersion RUNTIME_VERSION = from(System.getProperty("java.version"));
Expand All @@ -29,9 +35,6 @@ public static JavaVersion getRuntimeVersion() {
* @return JavaVersion enum
*/
public static JavaVersion from(String version) {
if (version.startsWith("1.8")) {
return v1_8;
}
return other;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@

import org.postgresql.core.JavaVersion;

import org.junit.Assert;
import org.junit.Test;

public class JavaVersionTest {
Expand All @@ -17,8 +16,5 @@ public void testGetRuntimeVersion() {
String msg = "java.version = " + currentVersion + ", JavaVersion.getRuntimeVersion() = "
+ JavaVersion.getRuntimeVersion();
System.out.println(msg);
if (currentVersion.startsWith("1.8")) {
Assert.assertEquals(msg, JavaVersion.v1_8, JavaVersion.getRuntimeVersion());
}
}
}
2 changes: 1 addition & 1 deletion settings.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ pluginManagement {
id("com.github.vlsi.stage-vote-release") version "1.86"
id("org.nosphere.gradle.github.actions") version "1.3.2"
id("me.champeau.jmh") version "0.7.1"
kotlin("jvm") version "1.8.21"
kotlin("jvm") version "11"
}
}

Expand Down

0 comments on commit 1a08849

Please sign in to comment.