[Git][debian-gis-team/josm][experimental] 4 commits: Add service provider for jakarta.json.spi.JsonProvider.
Bas Couwenberg (@sebastic)
gitlab at salsa.debian.org
Wed Jun 7 07:09:52 BST 2023
Bas Couwenberg pushed to branch experimental at Debian GIS Project / josm
Commits:
f0f3b79f by Bas Couwenberg at 2023-06-07T05:38:04+02:00
Add service provider for jakarta.json.spi.JsonProvider.
- - - - -
8b012e7f by Bas Couwenberg at 2023-06-07T06:26:52+02:00
Add org.eclipse sources for parsson.
- - - - -
2f2f47a0 by Bas Couwenberg at 2023-06-07T07:29:00+02:00
Update jakarta.json to 2.1.2 for JsonConfig required by parsson.
- - - - -
f1fa8525 by Bas Couwenberg at 2023-06-07T07:58:55+02:00
Set distribution to experimental.
- - - - -
7 changed files:
- debian/changelog
- debian/patches/00-build.patch
- + debian/patches/jakara-json-2.1.2.patch
- debian/patches/javax-json.patch
- + debian/patches/org-eclipse-parsson.patch
- debian/patches/series
- debian/rules
Changes:
=====================================
debian/changelog
=====================================
@@ -1,8 +1,11 @@
-josm (0.0.svn18746+dfsg-1~exp3) UNRELEASED; urgency=medium
+josm (0.0.svn18746+dfsg-1~exp3) experimental; urgency=medium
* Exclude javax files when building JOSM.
+ * Add service provider for jakarta.json.spi.JsonProvider.
+ * Add org.eclipse sources for parsson.
+ * Update jakarta.json to 2.1.2 for JsonConfig required by parsson.
- -- Bas Couwenberg <sebastic at debian.org> Tue, 06 Jun 2023 20:24:10 +0200
+ -- Bas Couwenberg <sebastic at debian.org> Wed, 07 Jun 2023 07:58:06 +0200
josm (0.0.svn18746+dfsg-1~exp2) experimental; urgency=medium
=====================================
debian/patches/00-build.patch
=====================================
@@ -93,7 +93,7 @@ Forwarded: not-needed
<jar destfile="${dist.jar}" basedir="${build.dir}" level="${clevel}">
<!-- add attribute excludes="**/*BZip2*,**/*Bzip2*" to create a non-bzip2 supporting jar -->
<manifest>
-@@ -182,30 +195,131 @@ Build-Date: ${build.tstamp}
+@@ -182,30 +195,134 @@ Build-Date: ${build.tstamp}
<attribute name="Permissions" value="all-permissions"/>
<attribute name="Codebase" value="josm.openstreetmap.de"/>
<attribute name="Application-Name" value="JOSM - Java OpenStreetMap Editor"/>
@@ -105,6 +105,9 @@ Forwarded: not-needed
<!-- Indicate that this jar may have version specific classes. Only used in Java9+. -->
<attribute name="Multi-Release" value="true"/>
</manifest>
++ <service type="jakarta.json.spi.JsonProvider">
++ <provider classname="org.eclipse.parsson.JsonProviderImpl"/>
++ </service>
+ <service type="org.apache.commons.jcs3.log.LogFactory">
+ <provider classname="org.apache.commons.jcs3.log.JulLogFactory"/>
+ <provider classname="org.apache.commons.jcs3.log.Log4j2Factory"/>
@@ -146,7 +149,7 @@ Forwarded: not-needed
+ <target name="compile-cots" depends="init,javacc-openinghoursparser" description="Compile third-party dependencies not retrieved with Ivy">
+ <!-- COTS -->
+ <javac srcdir="${src.dir}" classpathref="classpath"
-+ includes="ch/**,com/**,javax/**,oauth/signpost/**,org/apache/commons/**,org/glassfish/**,org/jetbrains/annotations/**,org/tukaani/**"
++ includes="ch/**,com/**,jakarta/**,javax/**,oauth/signpost/**,org/apache/commons/**,org/eclipse/**,org/glassfish/**,org/jetbrains/annotations/**,org/tukaani/**"
+ excludes="**/package-info.java" nowarn="on" encoding="iso-8859-1"
+ destdir="${build.dir}" release="${java.lang.version}" debug="on" includeAntRuntime="false">
+ <!-- get rid of "internal proprietary API" warning -->
@@ -230,7 +233,7 @@ Forwarded: not-needed
</target>
<macrodef name="call-javac-compile">
<attribute name="sourcepath" default=""/>
-@@ -285,23 +399,56 @@ Build-Date: ${build.tstamp}
+@@ -285,23 +402,56 @@ Build-Date: ${build.tstamp}
</call-javac-compile>
</sequential>
</macrodef>
@@ -269,7 +272,7 @@ Forwarded: not-needed
<call-javac-compile-mrjar release="21"/>
+-->
+ <javac sourcepath="" srcdir="${src.dir}" fork="yes" classpathref="classpath"
-+ excludes="ch/**,com/**,javax/**,oauth/**,org/apache/commons/**,org/glassfish/**,org/jetbrains/annotations/**,org/openstreetmap/gui/jmapviewer/**,org/tukaani/**,**/package-info.java"
++ excludes="ch/**,com/**,jakarta/**,javax/**,oauth/**,org/apache/commons/**,org/eclipse/**,org/glassfish/**,org/jetbrains/annotations/**,org/openstreetmap/gui/jmapviewer/**,org/tukaani/**,**/package-info.java"
+ destdir="${build.dir}" release="${java.lang.version}" debug="on" includeantruntime="false" encoding="UTF-8">
+ <compilerarg value="-Xlint:cast"/>
+ <compilerarg value="-Xlint:deprecation"/>
@@ -288,7 +291,7 @@ Forwarded: not-needed
</target>
<target name="create-resources" depends="create-revision" description="Create generated resource files">
<copy todir="${resources.dir}">
-@@ -325,6 +472,7 @@ Build-Date: ${build.tstamp}
+@@ -325,6 +475,7 @@ Build-Date: ${build.tstamp}
</uptodate>
<mkdir dir="${build.dir}"/>
<mkdir dir="${dist.dir}"/>
@@ -296,7 +299,7 @@ Forwarded: not-needed
</target>
<target name="javadoc" depends="init" description="Generate API documentation from JOSM source files">
<javadoc destdir="javadoc"
-@@ -363,6 +511,7 @@ Build-Date: ${build.tstamp}
+@@ -363,6 +514,7 @@ Build-Date: ${build.tstamp}
<delete dir="${src.dir}/org/openstreetmap/josm/data/imagery/types"/>
<delete file="${epsg.output}"/>
<delete file="${pmd.dir}/cache"/>
@@ -304,7 +307,7 @@ Forwarded: not-needed
</target>
<macrodef name="init-test-preferences">
<attribute name="testfamily"/>
-@@ -980,6 +1129,7 @@ Build-Date: ${build.tstamp}
+@@ -980,6 +1132,7 @@ Build-Date: ${build.tstamp}
<pathelement path="${resources.dir}"/>
<pathelement path="${proj-classpath}"/>
<pathelement path="${proj-build.dir}"/>
@@ -312,7 +315,7 @@ Forwarded: not-needed
</classpath>
<arg value="${base.dir}"/>
</java>
-@@ -1043,12 +1193,14 @@ Build-Date: ${build.tstamp}
+@@ -1043,12 +1196,14 @@ Build-Date: ${build.tstamp}
<move file="${modules.dir}/dots/summary.dot.png" tofile="${modules.dir}/josm-with-all-dependencies.png"/>
</target>
<target name="resolve" depends="init-ivy" unless="resolve.notRequired" description="Resolve Ivy dependencies">
=====================================
debian/patches/jakara-json-2.1.2.patch
=====================================
@@ -0,0 +1,985 @@
+Description: Update jakara.json to 2.1.2.
+Author: Bas Couwenberg <sebastic at debian.org>
+Bug: https://josm.openstreetmap.de/ticket/22990
+
+--- a/src/jakarta/json/EmptyArray.java
++++ b/src/jakarta/json/EmptyArray.java
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 2017, 2022 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+@@ -29,8 +29,12 @@ import java.util.RandomAccess;
+ */
+ final class EmptyArray extends AbstractList<JsonValue> implements JsonArray, Serializable, RandomAccess {
+
++ /** for serialization */
+ private static final long serialVersionUID = 7295439472061642859L;
+
++ /** Default constructor. */
++ EmptyArray() {}
++
+ @Override
+ public JsonValue get(int index) {
+ throw new IndexOutOfBoundsException("Index: " + index);
+@@ -106,7 +110,10 @@ final class EmptyArray extends AbstractL
+ return ValueType.ARRAY;
+ }
+
+- // Preserves singleton property
++ /**
++ * Preserves singleton property
++ * @return {@link JsonValue#EMPTY_JSON_ARRAY}
++ */
+ private Object readResolve() {
+ return JsonValue.EMPTY_JSON_ARRAY;
+ }
+--- a/src/jakarta/json/EmptyObject.java
++++ b/src/jakarta/json/EmptyObject.java
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 2017, 2022 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+@@ -28,8 +28,12 @@ import java.util.Set;
+ */
+ final class EmptyObject extends AbstractMap<String, JsonValue> implements JsonObject, Serializable {
+
++ /** for serialization */
+ private static final long serialVersionUID = -1461653546889072583L;
+
++ /** Default constructor. */
++ EmptyObject() {}
++
+ @Override
+ public Set<Entry<String, JsonValue>> entrySet() {
+ return Collections.<Entry<String, JsonValue>>emptySet();
+@@ -95,7 +99,10 @@ final class EmptyObject extends Abstract
+ return ValueType.OBJECT;
+ }
+
+- // Preserves singleton property
++ /**
++ * Preserves singleton property
++ * @return {@link JsonValue#EMPTY_JSON_OBJECT}
++ */
+ private Object readResolve() {
+ return JsonValue.EMPTY_JSON_OBJECT;
+ }
+--- a/src/jakarta/json/Json.java
++++ b/src/jakarta/json/Json.java
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 2011, 2021 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+@@ -58,6 +58,9 @@ import jakarta.json.stream.JsonParserFac
+ */
+ public final class Json {
+
++ /**
++ * No instantiation.
++ */
+ private Json() {
+ }
+
+@@ -299,7 +302,7 @@ public final class Json {
+ *
+ * @since 1.1
+ */
+- public static JsonObjectBuilder createObjectBuilder(Map<String, Object> map) {
++ public static JsonObjectBuilder createObjectBuilder(Map<String, ?> map) {
+ return JsonProvider.provider().createObjectBuilder(map);
+ }
+
+@@ -517,4 +520,15 @@ public final class Json {
+ return escaped.replace("~1", "/").replace("~0", "~");
+ }
+
++ /**
++ * Creates a JsonNumber.
++ *
++ * @param value a JSON number
++ * @return the JsonNumber for the number
++ *
++ * @since 2.1
++ */
++ public static JsonNumber createValue(Number value) {
++ return JsonProvider.provider().createValue(value);
++ }
+ }
+--- a/src/jakarta/json/JsonArray.java
++++ b/src/jakarta/json/JsonArray.java
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 2011, 2021 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+@@ -242,7 +242,7 @@ public interface JsonArray extends JsonS
+ * @return the boolean value at the specified position
+ * @throws IndexOutOfBoundsException if the index is out of range
+ * @throws ClassCastException if the value at the specified position is not
+- * assignable to {@code JsonValue.TRUE} or {@code JsonValue.FALSE}
++ * {@code JsonValue.TRUE} or {@code JsonValue.FALSE}
+ */
+ boolean getBoolean(int index);
+
+--- a/src/jakarta/json/JsonArrayBuilder.java
++++ b/src/jakarta/json/JsonArrayBuilder.java
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 2013, 2021 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+--- a/src/jakarta/json/JsonBuilderFactory.java
++++ b/src/jakarta/json/JsonBuilderFactory.java
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 2013, 2021 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+--- /dev/null
++++ b/src/jakarta/json/JsonConfig.java
+@@ -0,0 +1,57 @@
++/*
++ * Copyright (c) 2021 Oracle and/or its affiliates. All rights reserved.
++ *
++ * This program and the accompanying materials are made available under the
++ * terms of the Eclipse Public License v. 2.0, which is available at
++ * http://www.eclipse.org/legal/epl-2.0.
++ *
++ * This Source Code may also be made available under the following Secondary
++ * Licenses when the conditions for such availability set forth in the
++ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
++ * version 2 with the GNU Classpath Exception, which is available at
++ * https://www.gnu.org/software/classpath/license.html.
++ *
++ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
++ */
++
++package jakarta.json;
++
++/**
++ * This class contains the Json properties and values.
++ *
++ * @since 2.1
++ */
++public final class JsonConfig {
++
++ /**
++ * Configuration property to define the strategy for handling duplicate keys.
++ *
++ * See {@link KeyStrategy}
++ */
++ public static final String KEY_STRATEGY = "jakarta.json.JsonConfig.keyStrategy" ;
++
++ /**
++ * It avoids new instances of this class.
++ */
++ private JsonConfig() {}
++
++ /**
++ * Contains the different values allowed for {@link #KEY_STRATEGY}.
++ *
++ * See {@link #KEY_STRATEGY}
++ */
++ public static enum KeyStrategy {
++ /**
++ * Configuration value that will take the value of the first match.
++ */
++ FIRST,
++ /**
++ * Configuration value that will take the value of the last match.
++ */
++ LAST,
++ /**
++ * Configuration value that will throw {@link JsonException} when duplicate key is found.
++ */
++ NONE;
++ }
++}
+--- a/src/jakarta/json/JsonException.java
++++ b/src/jakarta/json/JsonException.java
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 2011, 2021 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+@@ -22,6 +22,9 @@ package jakarta.json;
+ */
+ public class JsonException extends RuntimeException {
+
++ /** for serialization */
++ private static final long serialVersionUID = 359810709545392112L;
++
+ /**
+ * Constructs a new runtime exception with the specified detail message.
+ * The cause is not initialized, and may subsequently be initialized by a
+--- a/src/jakarta/json/JsonMergePatch.java
++++ b/src/jakarta/json/JsonMergePatch.java
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 2015, 2021 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+--- a/src/jakarta/json/JsonNumber.java
++++ b/src/jakarta/json/JsonNumber.java
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 2011, 2021 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+--- a/src/jakarta/json/JsonObject.java
++++ b/src/jakarta/json/JsonObject.java
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 2011, 2021 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+--- a/src/jakarta/json/JsonObjectBuilder.java
++++ b/src/jakarta/json/JsonObjectBuilder.java
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 2013, 2021 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+@@ -276,6 +276,8 @@ public interface JsonObjectBuilder {
+ * on the order in which name/value pairs are added to the object using
+ * this builder.
+ *
++ * This method clears the builder.
++ *
+ * @return JSON object that is being built
+ */
+ JsonObject build();
+--- a/src/jakarta/json/JsonPatch.java
++++ b/src/jakarta/json/JsonPatch.java
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 2015, 2021 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+@@ -85,8 +85,13 @@ public interface JsonPatch {
+ */
+ TEST("test");
+
++ /** Operation name */
+ private final String operationName;
+
++ /**
++ * Create an enum constant with given {@code operationName}.
++ * @param operationName the operation name for the enum constant
++ */
+ private Operation(String operationName) {
+ this.operationName = operationName;
+ }
+--- a/src/jakarta/json/JsonPatchBuilder.java
++++ b/src/jakarta/json/JsonPatchBuilder.java
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 2015, 2021 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+--- a/src/jakarta/json/JsonPointer.java
++++ b/src/jakarta/json/JsonPointer.java
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 2015, 2021 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+--- a/src/jakarta/json/JsonReader.java
++++ b/src/jakarta/json/JsonReader.java
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 2012, 2021 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+--- a/src/jakarta/json/JsonReaderFactory.java
++++ b/src/jakarta/json/JsonReaderFactory.java
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 2013, 2021 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+--- a/src/jakarta/json/JsonString.java
++++ b/src/jakarta/json/JsonString.java
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 2011, 2021 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+--- a/src/jakarta/json/JsonStructure.java
++++ b/src/jakarta/json/JsonStructure.java
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 2012, 2021 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+--- a/src/jakarta/json/JsonValue.java
++++ b/src/jakarta/json/JsonValue.java
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 2011, 2021 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+--- a/src/jakarta/json/JsonValueImpl.java
++++ b/src/jakarta/json/JsonValueImpl.java
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2016, 2020 Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 2016, 2021 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+@@ -26,8 +26,16 @@ import java.io.Serializable;
+ */
+ final class JsonValueImpl implements JsonValue, Serializable {
+
++ /** for serialization */
++ private static final long serialVersionUID = 83723433120886104L;
++
++ /** Type of this JsonValue. */
+ private final ValueType valueType;
+
++ /**
++ * Default constructor.
++ * @param valueType Type of this JsonValue
++ */
+ JsonValueImpl(ValueType valueType) {
+ this.valueType = valueType;
+ }
+--- a/src/jakarta/json/JsonWriter.java
++++ b/src/jakarta/json/JsonWriter.java
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 2012, 2021 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+--- a/src/jakarta/json/JsonWriterFactory.java
++++ b/src/jakarta/json/JsonWriterFactory.java
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 2013, 2021 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+--- a/src/jakarta/json/package-info.java
++++ b/src/jakarta/json/package-info.java
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 2011, 2021 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+--- a/src/jakarta/json/spi/JsonProvider.java
++++ b/src/jakarta/json/spi/JsonProvider.java
+@@ -16,23 +16,45 @@
+
+ package jakarta.json.spi;
+
+-import jakarta.json.*;
+-import jakarta.json.stream.JsonGenerator;
+-import jakarta.json.stream.JsonGeneratorFactory;
+-import jakarta.json.stream.JsonParser;
+-import jakarta.json.stream.JsonParserFactory;
+ import java.io.InputStream;
+ import java.io.OutputStream;
+ import java.io.Reader;
+ import java.io.Writer;
+ import java.lang.reflect.Method;
++import java.math.BigDecimal;
++import java.math.BigInteger;
++import java.security.AccessController;
++import java.security.PrivilegedAction;
+ import java.util.Collection;
+ import java.util.Iterator;
+ import java.util.Map;
+-import java.util.ServiceLoader;
+-import java.math.BigDecimal;
+-import java.math.BigInteger;
+ import java.util.Optional;
++import java.util.ServiceLoader;
++import java.util.logging.Level;
++import java.util.logging.Logger;
++
++import jakarta.json.JsonArray;
++import jakarta.json.JsonArrayBuilder;
++import jakarta.json.JsonBuilderFactory;
++import jakarta.json.JsonException;
++import jakarta.json.JsonMergePatch;
++import jakarta.json.JsonNumber;
++import jakarta.json.JsonObject;
++import jakarta.json.JsonObjectBuilder;
++import jakarta.json.JsonPatch;
++import jakarta.json.JsonPatchBuilder;
++import jakarta.json.JsonPointer;
++import jakarta.json.JsonReader;
++import jakarta.json.JsonReaderFactory;
++import jakarta.json.JsonString;
++import jakarta.json.JsonStructure;
++import jakarta.json.JsonValue;
++import jakarta.json.JsonWriter;
++import jakarta.json.JsonWriterFactory;
++import jakarta.json.stream.JsonGenerator;
++import jakarta.json.stream.JsonGeneratorFactory;
++import jakarta.json.stream.JsonParser;
++import jakarta.json.stream.JsonParserFactory;
+
+ /**
+ * Service provider for JSON processing objects.
+@@ -45,54 +67,120 @@ import java.util.Optional;
+ public abstract class JsonProvider {
+
+ /**
++ * The name of the property that contains the name of the class capable of creating new JsonProvider objects.
++ */
++ public static final String JSONP_PROVIDER_FACTORY = "jakarta.json.provider";
++
++ /**
+ * A constant representing the name of the default
+ * {@code JsonProvider} implementation class.
+ */
+ private static final String DEFAULT_PROVIDER
+- = "org.glassfish.json.JsonProviderImpl";
++ = "org.eclipse.parsson.JsonProviderImpl";
++
++ /** A logger */
++ private static final Logger LOG = Logger.getLogger(JsonProvider.class.getName());
+
++ /**
++ * Default constructor.
++ */
+ protected JsonProvider() {
+ }
+
+ /**
+- * Creates a JSON provider object. The provider is loaded using the
+- * {@link ServiceLoader#load(Class)} method. If there are no available
+- * service providers, this method returns the default service provider.
++ * Creates a JSON provider object.
++ *
++ * Implementation discovery consists of following steps:
++ * <ol>
++ * <li>If the system property {@value #JSONP_PROVIDER_FACTORY} exists,
++ * then its value is assumed to be the provider factory class.
++ * This phase of the look up enables per-JVM override of the JsonProvider implementation.</li>
++ * <li>The provider is loaded using the {@link ServiceLoader#load(Class)} method.</li>
++ * <li>If all the steps above fail, then the rest of the look up is unspecified. That said,
++ * the recommended behavior is to simply look for some hard-coded platform default Jakarta
++ * JSON Processing implementation. This phase of the look up is so that a platform can have
++ * its own Jakarta JSON Processing implementation as the last resort.</li>
++ * </ol>
+ * Users are recommended to cache the result of this method.
+ *
+ * @see ServiceLoader
+ * @return a JSON provider
+ */
+ public static JsonProvider provider() {
++ LOG.log(Level.FINE, "Checking system property {0}", JSONP_PROVIDER_FACTORY);
++ final String factoryClassName = System.getSecurityManager() != null
++ ? AccessController.doPrivileged((PrivilegedAction<String>) () -> System.getProperty(JSONP_PROVIDER_FACTORY))
++ : System.getProperty(JSONP_PROVIDER_FACTORY);
++ if (factoryClassName != null) {
++ JsonProvider provider = newInstance(factoryClassName);
++ LOG.log(Level.FINE, "System property used; returning object [{0}]",
++ provider.getClass().getName());
++ return provider;
++ }
++
++ LOG.log(Level.FINE, "Checking ServiceLoader");
+ ServiceLoader<JsonProvider> loader = ServiceLoader.load(JsonProvider.class);
+ Iterator<JsonProvider> it = loader.iterator();
+ if (it.hasNext()) {
+- return it.next();
++ JsonProvider provider = it.next();
++ LOG.log(Level.FINE, "ServiceLoader loading Facility used; returning object [{0}]",
++ provider.getClass().getName());
++ return provider;
+ }
+
+ // handling OSGi (specific default)
+ if (isOsgi()) {
+- JsonProvider result = lookupUsingOSGiServiceLoader(JsonProvider.class);
+- if (result != null) {
+- return result;
++ LOG.log(Level.FINE, "Checking OSGi");
++ JsonProvider provider = lookupUsingOSGiServiceLoader(JsonProvider.class);
++ if (provider != null) {
++ LOG.log(Level.FINE, "OSGi loading facility used; returning object [{0}].",
++ provider.getClass().getName());
++ return provider;
+ }
+ }
+
++ // else no provider found
++ LOG.fine("Trying to create the platform default provider");
++ return newInstance(DEFAULT_PROVIDER);
++ }
++
++ /**
++ * Creates a new instance from the specified class
++ * @param className name of the class to instantiate
++ * @return the JsonProvider instance
++ * @throws JsonException for issues during creation of an instance of the JsonProvider
++ */
++ private static JsonProvider newInstance(String className) {
+ try {
+- checkPackageAccess(DEFAULT_PROVIDER);
+- Class<?> clazz = Class.forName(DEFAULT_PROVIDER);
+- return (JsonProvider) clazz.getConstructor().newInstance();
++ checkPackageAccess(className);
++ @SuppressWarnings({"unchecked"})
++ Class<JsonProvider> clazz = (Class<JsonProvider>) Class.forName(className);
++ return clazz.getConstructor().newInstance();
+ } catch (ClassNotFoundException x) {
+ throw new JsonException(
+- "Provider " + DEFAULT_PROVIDER + " not found", x);
++ "Provider " + className + " not found", x);
+ } catch (Exception x) {
+ throw new JsonException(
+- "Provider " + DEFAULT_PROVIDER + " could not be instantiated: " + x,
++ "Provider " + className + " could not be instantiated: " + x,
+ x);
+ }
+ }
+
+ /**
++ * Make sure that the current thread has an access to the package of the given name.
++ * @param className The class name to check.
++ */
++ private static void checkPackageAccess(String className) {
++ SecurityManager s = System.getSecurityManager();
++ if (s != null) {
++ int i = className.lastIndexOf('.');
++ if (i != -1) {
++ s.checkPackageAccess(className.substring(0, i));
++ }
++ }
++ }
++
++ /**
+ * Creates a JSON parser from a character stream.
+ *
+ * @param reader i/o reader from which JSON is to be read
+@@ -264,7 +352,7 @@ public abstract class JsonProvider {
+ *
+ * @since 1.1
+ */
+- public JsonObjectBuilder createObjectBuilder(Map<String, Object> map) {
++ public JsonObjectBuilder createObjectBuilder(Map<String, ?> map) {
+ throw new UnsupportedOperationException();
+ }
+
+@@ -489,6 +577,34 @@ public abstract class JsonProvider {
+ throw new UnsupportedOperationException();
+ }
+
++ /**
++ * Creates a JsonNumber.
++ *
++ * When it is not implemented it checks the type and delegates
++ * to an existing method that already handles that type. It throws
++ * UnsupportedOperationException in case the type is not known.
++ *
++ * @param number a JSON number
++ * @return the JsonNumber for the number
++ *
++ * @since 2.1
++ */
++ public JsonNumber createValue(Number number) {
++ if (number instanceof Integer) {
++ return createValue(number.intValue());
++ } else if (number instanceof Long) {
++ return createValue(number.longValue());
++ } else if (number instanceof Double) {
++ return createValue(number.doubleValue());
++ } else if (number instanceof BigInteger) {
++ return createValue((BigInteger) number);
++ } else if (number instanceof BigDecimal) {
++ return createValue((BigDecimal) number);
++ } else {
++ throw new UnsupportedOperationException(number + " type is not known");
++ }
++ }
++
+ /** OSGI aware service loader by HK2 */
+ private static final String OSGI_SERVICE_LOADER_CLASS_NAME = "org.glassfish.hk2.osgiresourcelocator.ServiceLoader";
+
+@@ -498,7 +614,6 @@ public abstract class JsonProvider {
+ * @return true if HK2 service locator is available
+ */
+ private static boolean isOsgi() {
+- checkPackageAccess(OSGI_SERVICE_LOADER_CLASS_NAME);
+ try {
+ Class.forName(OSGI_SERVICE_LOADER_CLASS_NAME);
+ return true;
+@@ -523,23 +638,10 @@ public abstract class JsonProvider {
+ @SuppressWarnings({"unchecked"})
+ Iterator<? extends T> iter = ((Iterable<? extends T>) m.invoke(null, (Object[]) args)).iterator();
+ return iter.hasNext() ? iter.next() : null;
+- } catch (Exception ignored) {
+- // log and continue
++ } catch (Exception ex) {
++ LOG.log(Level.FINE, "Unable to find from OSGi: [" + serviceClass.getName() + "]", ex);
+ return null;
+ }
+ }
+
+- /**
+- * Make sure that the current thread has an access to the package of the given name.
+- * @param className The class name to check.
+- */
+- private static void checkPackageAccess(String className) {
+- SecurityManager s = System.getSecurityManager();
+- if (s != null) {
+- int i = className.lastIndexOf('.');
+- if (i != -1) {
+- s.checkPackageAccess(className.substring(0, i));
+- }
+- }
+- }
+ }
+--- a/src/jakarta/json/spi/package-info.java
++++ b/src/jakarta/json/spi/package-info.java
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 2012, 2021 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+@@ -27,6 +27,10 @@
+ *
+ * <p>The API locates and loads providers using {@link java.util.ServiceLoader}.
+ *
++ * Unless otherwise noted, passing a null argument to a constructor or method
++ * in any class or interface in this package will cause a NullPointerException
++ * to be thrown.
++ *
+ * @since JSON Processing 1.0
+ */
+ package jakarta.json.spi;
+--- a/src/jakarta/json/stream/JsonCollectors.java
++++ b/src/jakarta/json/stream/JsonCollectors.java
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 2015, 2021 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+@@ -40,6 +40,9 @@ import jakarta.json.JsonException;
+
+ public final class JsonCollectors {
+
++ /**
++ * No instantiation.
++ */
+ private JsonCollectors() {
+ }
+
+--- a/src/jakarta/json/stream/JsonGenerationException.java
++++ b/src/jakarta/json/stream/JsonGenerationException.java
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 2012, 2021 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+@@ -24,6 +24,9 @@ import jakarta.json.JsonException;
+ */
+ public class JsonGenerationException extends JsonException {
+
++ /** for serialization */
++ private static final long serialVersionUID = -207609100806940680L;
++
+ /**
+ * Constructs a new runtime exception with the specified detail message.
+ * The cause is not initialized, and may subsequently be initialized by a
+--- a/src/jakarta/json/stream/JsonGenerator.java
++++ b/src/jakarta/json/stream/JsonGenerator.java
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 2011, 2021 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+@@ -397,7 +397,7 @@ public interface JsonGenerator extends F
+ * @throws jakarta.json.JsonException if an i/o error occurs (IOException
+ * would be cause of JsonException)
+ * @throws JsonGenerationException if this method is not called within an
+- * array or root context.
++ * array, root or field context.
+ */
+ JsonGenerator write(JsonValue value);
+
+@@ -410,7 +410,7 @@ public interface JsonGenerator extends F
+ * @throws jakarta.json.JsonException if an i/o error occurs (IOException
+ * would be cause of JsonException)
+ * @throws JsonGenerationException if this method is not called within an
+- * array or root context.
++ * array, root or field context.
+ */
+ JsonGenerator write(String value);
+
+@@ -424,7 +424,7 @@ public interface JsonGenerator extends F
+ * @throws jakarta.json.JsonException if an i/o error occurs (IOException
+ * would be cause of JsonException)
+ * @throws JsonGenerationException if this method is not called within an
+- * array or root context.
++ * array, root or field context.
+ *
+ * @see jakarta.json.JsonNumber
+ */
+@@ -440,7 +440,7 @@ public interface JsonGenerator extends F
+ * @throws jakarta.json.JsonException if an i/o error occurs (IOException
+ * would be cause of JsonException)
+ * @throws JsonGenerationException if this method is not called within an
+- * array or root context.
++ * array, root or field context.
+ *
+ * @see jakarta.json.JsonNumber
+ */
+@@ -456,7 +456,7 @@ public interface JsonGenerator extends F
+ * @throws jakarta.json.JsonException if an i/o error occurs (IOException
+ * would be cause of JsonException)
+ * @throws JsonGenerationException if this method is not called within an
+- * array or root context.
++ * array, root or field context.
+ */
+ JsonGenerator write(int value);
+
+@@ -470,7 +470,7 @@ public interface JsonGenerator extends F
+ * @throws jakarta.json.JsonException if an i/o error occurs (IOException
+ * would be cause of JsonException)
+ * @throws JsonGenerationException if this method is not called within an
+- * array or root context.
++ * array, root or field context.
+ */
+ JsonGenerator write(long value);
+
+@@ -484,7 +484,7 @@ public interface JsonGenerator extends F
+ * @throws jakarta.json.JsonException if an i/o error occurs (IOException
+ * would be cause of JsonException)
+ * @throws JsonGenerationException if this method is not called within an
+- * array or root context.
++ * array, root or field context.
+ * @throws NumberFormatException if the value is Not-a-Number (NaN) or infinity.
+ */
+ JsonGenerator write(double value);
+@@ -499,7 +499,7 @@ public interface JsonGenerator extends F
+ * @throws jakarta.json.JsonException if an i/o error occurs (IOException
+ * would be cause of JsonException)
+ * @throws JsonGenerationException if this method is not called within an
+- * array or root context.
++ * array, root or field context.
+ */
+ JsonGenerator write(boolean value);
+
+@@ -510,7 +510,7 @@ public interface JsonGenerator extends F
+ * @throws jakarta.json.JsonException if an i/o error occurs (IOException
+ * would be cause of JsonException)
+ * @throws JsonGenerationException if this method is not called within an
+- * array or root context.
++ * array, root or field context.
+ */
+ JsonGenerator writeNull();
+
+@@ -518,6 +518,10 @@ public interface JsonGenerator extends F
+ * Closes this generator and frees any resources associated with it.
+ * This method closes the underlying output source.
+ *
++ * The underlying stream is closed only if complete JSON object is written. In case
++ * of incomplete object JsonGenerationException is thrown and underlying stream is
++ * not closed.
++ *
+ * @throws jakarta.json.JsonException if an i/o error occurs (IOException
+ * would be cause of JsonException)
+ * @throws JsonGenerationException if an incomplete JSON is generated
+--- a/src/jakarta/json/stream/JsonGeneratorFactory.java
++++ b/src/jakarta/json/stream/JsonGeneratorFactory.java
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 2011, 2021 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+--- a/src/jakarta/json/stream/JsonLocation.java
++++ b/src/jakarta/json/stream/JsonLocation.java
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 2013, 2021 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+--- a/src/jakarta/json/stream/JsonParser.java
++++ b/src/jakarta/json/stream/JsonParser.java
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 2011, 2021 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+@@ -128,7 +128,7 @@ import jakarta.json.JsonArray;
+ * while (parser.hasNext() {
+ * Event event = parser.next();
+ * if (event == JsonParser.Event.KEY_NAME ) {
+- * String key = getString();
++ * String key = parser.getString();
+ * event = parser.next();
+ * if (key.equals("phoneNumber") {
+ * JsonArray phones = parser.getArray();
+@@ -253,6 +253,17 @@ public interface JsonParser extends /*Au
+ Event next();
+
+ /**
++ * Returns the event for the current parsing state.
++ *
++ * @return the event for the current parsing state
++ *
++ * @since 2.1
++ */
++ default public Event currentEvent() {
++ throw new UnsupportedOperationException();
++ }
++
++ /**
+ * Returns a {@code String} for the name in a name/value pair,
+ * for a string value or a number value. This method should only be called
+ * when the parser state is {@link Event#KEY_NAME}, {@link Event#VALUE_STRING},
+@@ -349,9 +360,14 @@ public interface JsonParser extends /*Au
+ * corresponding {@code END_OBJECT}.
+ *
+ * @return the {@code JsonObject} at the current parser position
+- *
++ * @throws jakarta.json.JsonException if an i/o error occurs (IOException
++ * would be cause of JsonException)
+ * @throws IllegalStateException when the parser state is not
+ * {@code START_OBJECT}
++ * @throws JsonParsingException if the parser encounters invalid JSON
++ * when advancing to next state.
++ * @throws java.util.NoSuchElementException if there are no more parsing
++ * states.
+ *
+ * @since 1.1
+ */
+@@ -368,8 +384,14 @@ public interface JsonParser extends /*Au
+ * read and returned.
+ *
+ * @return the {@code JsonValue} at the current parser position.
++ * @throws jakarta.json.JsonException if an i/o error occurs (IOException
++ * would be cause of JsonException)
+ * @throws IllegalStateException when the parser state is
+ * {@code END_OBJECT} or {@code END_ARRAY}
++ * @throws JsonParsingException if the parser encounters invalid JSON
++ * when advancing to next state.
++ * @throws java.util.NoSuchElementException if there are no more parsing
++ * states.
+ *
+ * @since 1.1
+ */
+@@ -382,9 +404,14 @@ public interface JsonParser extends /*Au
+ * the corresponding {@code END_ARRAY}.
+ *
+ * @return the {@code JsonArray} at the current parser position
+- *
++ * @throws jakarta.json.JsonException if an i/o error occurs (IOException
++ * would be cause of JsonException)
+ * @throws IllegalStateException when the parser state is not
+ * {@code START_ARRAY}
++ * @throws JsonParsingException if the parser encounters invalid JSON
++ * when advancing to next state.
++ * @throws java.util.NoSuchElementException if there are no more parsing
++ * states.
+ *
+ * @since 1.1
+ */
+--- a/src/jakarta/json/stream/JsonParserFactory.java
++++ b/src/jakarta/json/stream/JsonParserFactory.java
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 2011, 2021 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+--- a/src/jakarta/json/stream/JsonParsingException.java
++++ b/src/jakarta/json/stream/JsonParsingException.java
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 2012, 2022 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+@@ -24,7 +24,13 @@ import jakarta.json.JsonException;
+ */
+ public class JsonParsingException extends JsonException {
+
+- private final JsonLocation location;
++ /** for serialization */
++ private static final long serialVersionUID = 9073566598484238797L;
++
++ /**
++ * The location of the incorrect JSON.
++ */
++ private transient final JsonLocation location;
+
+ /**
+ * Constructs a new runtime exception with the specified detail message.
+--- a/src/jakarta/json/stream/package-info.java
++++ b/src/jakarta/json/stream/package-info.java
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 2012, 2021 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
=====================================
debian/patches/javax-json.patch
=====================================
The diff for this file was not included because it is too large.
=====================================
debian/patches/org-eclipse-parsson.patch
=====================================
The diff for this file was not included because it is too large.
=====================================
debian/patches/series
=====================================
@@ -6,3 +6,5 @@
08-use_noto_font.patch
09-no-java-8.patch
javax-json.patch
+org-eclipse-parsson.patch
+jakara-json-2.1.2.patch
=====================================
debian/rules
=====================================
@@ -83,7 +83,7 @@ get-orig-source:
@echo Downloading source JAR
wget https://josm.openstreetmap.de/download/josm-snapshot-${SVNREV}-sources.jar -O /tmp/josm-sources.jar
@echo Extracting sources from JAR
- cd ${DESTDIR}/src && jar -xf /tmp/josm-sources.jar ch/poole com/drew com/google com/kitfox javax/annotation javax/json oauth/signpost org/apache/commons/jcs org/glassfish org/tukaani && cd $$OLDPWD
+ cd ${DESTDIR}/src && jar -xf /tmp/josm-sources.jar ch/poole com/drew com/google com/kitfox jakarta/json javax/annotation javax/json oauth/signpost org/apache/commons/jcs org/eclipse org/glassfish org/tukaani && cd $$OLDPWD
grep "Generated By:JavaCC:" ${DESTDIR}/src/ch/poole -r | cut -d: -f1 | sort -u | xargs rm -v
cd ${DESTDIR}/resources && jar -xf /tmp/josm-sources.jar META-INF/resources/webjars/tag2link && cd $$OLDPWD
find ${DESTDIR}/resources/META-INF/resources/webjars/tag2link -type f -not -name index.json -delete
View it on GitLab: https://salsa.debian.org/debian-gis-team/josm/-/compare/3a6be8b01ad3f3790b0738b43d00f4100daf41c9...f1fa85252492c2021962263fb00dac7382521747
--
View it on GitLab: https://salsa.debian.org/debian-gis-team/josm/-/compare/3a6be8b01ad3f3790b0738b43d00f4100daf41c9...f1fa85252492c2021962263fb00dac7382521747
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-grass-devel/attachments/20230607/b839d3b9/attachment-0001.htm>
More information about the Pkg-grass-devel
mailing list