[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