[Git][java-team/invokebinder][master] 9 commits: New upstream version 1.16

Jérôme Charaoui (@lavamind) gitlab at salsa.debian.org
Wed Aug 26 04:38:15 BST 2026



Jérôme Charaoui pushed to branch master at Debian Java Maintainers / invokebinder


Commits:
b7195d66 by Jérôme Charaoui at 2026-08-25T20:27:59-04:00
New upstream version 1.16
- - - - -
d64bee2b by Jérôme Charaoui at 2026-08-25T20:28:01-04:00
Update upstream source from tag 'upstream/1.16'

Update to upstream version '1.16'
with Debian dir 636a0c42e1d42a5315c52f84552231edef565f02
- - - - -
f038dc70 by Jérôme Charaoui at 2026-08-25T20:28:59-04:00
d/watch: update to v5 format

- - - - -
78167ac3 by Jérôme Charaoui at 2026-08-25T20:29:19-04:00
d/control: build using headless jdk

- - - - -
0f6853f0 by Jérôme Charaoui at 2026-08-26T00:29:47+00:00
Remove redundant Priority: optional from source stanza.

Changes-By: lintian-brush
Fixes: lintian: source: redundant-priority-optional-field
See-also: https://lintian.debian.org/tags/redundant-priority-optional-field.html

- - - - -
dfbf5467 by Jérôme Charaoui at 2026-08-26T00:29:47+00:00
Update standards version to 4.7.4, no changes needed.

Upgrade checklist verified:
 4.7.0 → 4.7.1:
  * Package does not install to non-/usr paths
 4.7.3 → 4.7.4:
  * Package is not in non-free-firmware

Changes-By: lintian-brush
Fixes: lintian: source: out-of-date-standards-version 4.7.0 (released 2024-04-07) (current is 4.7.4.1)
See-also: https://lintian.debian.org/tags/out-of-date-standards-version.html

- - - - -
622df422 by Jérôme Charaoui at 2026-08-26T00:29:47+00:00
Removed Rules-Requires-Root

Changes-By: lintian-brush
Fixes: lintian: source: redundant-rules-requires-root-no-field [debian/control]
See-also: https://lintian.debian.org/tags/redundant-rules-requires-root-no-field.html

- - - - -
592620ed by Jérôme Charaoui at 2026-08-25T20:32:16-04:00
ignore unwanted maven plugin

- - - - -
55fa527c by Jérôme Charaoui at 2026-08-25T20:32:35-04:00
Update changelog for 1.16-1 release

- - - - -


9 changed files:

- README.markdown
- debian/changelog
- debian/control
- debian/maven.ignoreRules
- debian/watch
- pom.xml
- src/main/java/com/headius/invokebinder/Signature.java
- src/main/java/com/headius/invokebinder/SmartBinder.java
- src/main/java/com/headius/invokebinder/transform/Collect.java


Changes:

=====================================
README.markdown
=====================================
@@ -26,4 +26,10 @@ Status
 This is currently under development. Not all transformations from the MethodHandle
 API are yet supported.
 
-Contributors are welcome :)
\ No newline at end of file
+Contributors are welcome :)
+
+Releasing
+=========
+
+Use a Java 9+ JVM and run `mvn deploy -Prelease` to build and upload all necessary artifacts.
+


=====================================
debian/changelog
=====================================
@@ -1,3 +1,16 @@
+invokebinder (1.16-1) unstable; urgency=medium
+
+  * Team upload.
+  * New upstream version 1.16
+  * ignore unwanted maven plugin
+  * d/control: build using headless jdk
+  * d/watch: update to v5 format
+  * Remove redundant Priority: optional from source stanza.
+  * Update standards version to 4.7.4, no changes needed.
+  * Removed Rules-Requires-Root
+
+ -- Jérôme Charaoui <jerome at riseup.net>  Tue, 25 Aug 2026 20:30:05 -0400
+
 invokebinder (1.14-1) unstable; urgency=medium
 
   * Team upload.


=====================================
debian/control
=====================================
@@ -1,21 +1,19 @@
 Source: invokebinder
 Section: java
-Priority: optional
 Maintainer: Debian Java Maintainers <pkg-java-maintainers at lists.alioth.debian.org>
 Uploaders:
  Miguel Landaeta <nomadium at debian.org>,
 Build-Depends:
  debhelper-compat (= 13),
- default-jdk,
+ default-jdk-headless,
  maven-debian-helper,
 Build-Depends-Indep:
  junit4,
  libmaven-bundle-plugin-java,
-Standards-Version: 4.7.0
+Standards-Version: 4.7.4
 Vcs-Git: https://salsa.debian.org/java-team/invokebinder.git
 Vcs-Browser: https://salsa.debian.org/java-team/invokebinder
 Homepage: https://github.com/headius/invokebinder
-Rules-Requires-Root: no
 
 Package: libinvokebinder-java
 Architecture: all


=====================================
debian/maven.ignoreRules
=====================================
@@ -1 +1 @@
-
+org.sonatype.central central-publishing-maven-plugin * * * *


=====================================
debian/watch
=====================================
@@ -1,4 +1,4 @@
-version=4
-opts="mode=git" \
-https://github.com/headius/invokebinder.git \
-refs/tags/invokebinder- at ANY_VERSION@
+Version: 5
+Template: GitHub
+Owner: headius
+Project: invokebinder


=====================================
pom.xml
=====================================
@@ -3,20 +3,15 @@
     <groupId>com.headius</groupId>
     <artifactId>invokebinder</artifactId>
     <packaging>bundle</packaging>
-    <version>1.14</version>
+    <version>1.16</version>
     <name>invokebinder</name>
+    <description>The missing MethodHandle builder API</description>
     <url>http://maven.apache.org</url>
 
     <properties>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     </properties>
 
-    <parent>
-        <groupId>org.sonatype.oss</groupId>
-        <artifactId>oss-parent</artifactId>
-        <version>7</version>
-    </parent>
-
     <licenses>
         <license>
             <name>The Apache Software License, Version 2.0</name>
@@ -29,7 +24,8 @@
         <connection>scm:git:https://github.com/headius/invokebinder.git</connection>
         <developerConnection>scm:git:git at github.com:headius/invokebinder.git</developerConnection>
         <url>https://github.com/headius/invokebinder</url>
-    </scm>
+      <tag>invokebinder-1.16</tag>
+  </scm>
 
     <developers>
         <developer>
@@ -39,6 +35,56 @@
         </developer>
     </developers>
 
+    <profiles>
+        <profile>
+            <id>release</id>
+            <build>
+                <plugins>
+                    <plugin>
+                        <artifactId>maven-javadoc-plugin</artifactId>
+                        <version>3.2.0</version>
+                        <configuration>
+                            <source>8</source>
+                        </configuration>
+                    </plugin>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-source-plugin</artifactId>
+                        <version>2.2.1</version>
+                        <executions>
+                            <execution>
+                                <id>attach-sources</id>
+                                <goals>
+                                    <goal>jar</goal>
+                                </goals>
+                            </execution>
+                        </executions>
+                    </plugin>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-gpg-plugin</artifactId>
+                        <version>3.1.0</version>
+                        <executions>
+                            <execution>
+                                <id>sign-artifacts</id>
+                                <phase>verify</phase>
+                                <goals>
+                                    <goal>sign</goal>
+                                </goals>
+                            </execution>
+                        </executions>
+                        <configuration>
+                            <gpgArguments>
+                                <gpgArgument>--pinentry-mode</gpgArgument>
+                                <gpgArgument>loopback</gpgArgument>
+                            </gpgArguments>
+                        </configuration>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+    </profiles>
+
     <build>
         <plugins>
             <plugin>
@@ -104,10 +150,12 @@
                 </configuration>
             </plugin>
             <plugin>
-                <artifactId>maven-javadoc-plugin</artifactId>
-                <version>3.2.0</version>
+                <groupId>org.sonatype.central</groupId>
+                <artifactId>central-publishing-maven-plugin</artifactId>
+                <version>0.7.0</version>
+                <extensions>true</extensions>
                 <configuration>
-                    <source>8</source>
+                    <publishingServerId>central</publishingServerId>
                 </configuration>
             </plugin>
         </plugins>


=====================================
src/main/java/com/headius/invokebinder/Signature.java
=====================================
@@ -143,6 +143,16 @@ public class Signature {
         return sig;
     }
 
+    /**
+     * Create a new signature based on the given return value
+     *
+     * @param retval the type of the return value
+     * @return a new Signature
+     */
+    public static Signature from(Class<?> retval) {
+        return new Signature(retval);
+    }
+
     /**
      * Create a new signature based on the given return value, argument types, and argument names
      *
@@ -157,6 +167,17 @@ public class Signature {
         return new Signature(retval, argTypes, argNames);
     }
 
+    /**
+     * Create a new signature based on the given MethodType and argument names.
+     *
+     * @param methodType the method type for the new signature
+     * @param argNames the names of the arguments
+     * @return a new Signature
+     */
+    public static Signature from(MethodType methodType, String... argNames) {
+        return new Signature(methodType, argNames);
+    }
+
     /**
      * Create a new signature based on this one with a different return type.
      *


=====================================
src/main/java/com/headius/invokebinder/SmartBinder.java
=====================================
@@ -101,6 +101,16 @@ public class SmartBinder {
         return from(Signature.returning(retType).appendArgs(names, types));
     }
 
+    /**
+     * Create a new SmartBinder with from the given return type.
+     *
+     * @param retType the type of the return value to start with
+     * @return a new SmartBinder
+     */
+    public static SmartBinder from(Class<?> retType) {
+        return from(Signature.returning(retType));
+    }
+
     /**
      * Create a new SmartBinder with from the given types and argument name.
      *
@@ -853,6 +863,26 @@ public class SmartBinder {
         return new SmartBinder(this, newSignature, binder.collect(index, signature().argCount() - (newSignature.argCount() - 1), Array.newInstance(signature().argType(index), 0).getClass()));
     }
 
+    /**
+     * Collect arguments matching namePattern into an trailing array argument
+     * named outName.
+     *
+     * The namePattern is a standard regular expression.
+     *
+     * @param outName     the name of the new array argument
+     * @param namePattern a pattern with which to match arguments for collecting
+     * @return a new SmartBinder with the collect applied
+     */
+    public SmartBinder collect(String outName, Class<?> outType, String namePattern) {
+        int index = signature().argOffsets(namePattern);
+
+        assert index >= 0 : "no arguments matching " + namePattern + " found in signature " + signature();
+
+        Signature newSignature = signature().collect(outName, namePattern);
+
+        return new SmartBinder(this, newSignature, binder.collect(index, signature().argCount() - (newSignature.argCount() - 1), Array.newInstance(signature().argType(index), 0).getClass()));
+    }
+
     /**
      * Collect arguments matching namePattern into an trailing array argument
      * named outName, using collector to construct the array object.


=====================================
src/main/java/com/headius/invokebinder/transform/Collect.java
=====================================
@@ -112,14 +112,14 @@ public class Collect extends Transform {
             Class<?> componentType = resultType.getComponentType();
             for (int i = index; i < index + count; i++) {
                 Class<?> in = source.parameterType(i);
-                assert in.isAssignableFrom(componentType)
+                assert componentType.isAssignableFrom(in)
                         : "incoming type " + in.getName() + " not compatible with " + componentType.getName() + "[]";
             }
         } else {
             for (int i = 0; i < count; i++) {
                 Class<?> in = source.parameterType(index + i);
                 Class<?> out = collector.type().parameterType(i);
-                assert in.isAssignableFrom(out) : "incoming type " + in.getName() + " not compatible with " + out;
+                assert out.isAssignableFrom(in) : "incoming type " + in.getName() + " not compatible with " + out;
             }
             assert collector.type().returnType().isAssignableFrom(resultType);
         }



View it on GitLab: https://salsa.debian.org/java-team/invokebinder/-/compare/9bb2fa7cbcad7b345d496dfcde6709358dc10105...55fa527cad6a1bd59c137dabd6e4fdf6127c402d

-- 
View it on GitLab: https://salsa.debian.org/java-team/invokebinder/-/compare/9bb2fa7cbcad7b345d496dfcde6709358dc10105...55fa527cad6a1bd59c137dabd6e4fdf6127c402d
You're receiving this email because of your account on salsa.debian.org. Manage all notifications: https://salsa.debian.org/-/profile/notifications | Help: https://salsa.debian.org/help


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-java-commits/attachments/20260826/421f0b0a/attachment.htm>


More information about the pkg-java-commits mailing list