Skip to content

Commit

Permalink
Merge release 1.14.20
Browse files Browse the repository at this point in the history
  • Loading branch information
bertfrees committed Nov 8, 2024
2 parents cac8f03 + dfd21d1 commit 69a859f
Show file tree
Hide file tree
Showing 9 changed files with 225 additions and 96 deletions.
92 changes: 61 additions & 31 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -112,34 +112,64 @@ ifeq ($(OS), MACOSX)
if (identities.isEmpty()) \
err.println("No identity found to sign code"); \
else { \
// replace signature of binary files within jars \
String id = identities.size() == 1 ? identities.get(0) : null; \
File tmpDir = new File("target/codesign-workaround/"); \
File jar = new File("target/jars/common/com.microsoft.cognitiveservices.speech.client-sdk-1.27.0.jar"); \
File unzipDir = new File(tmpDir, jar.getName().replaceAll(".jar$$", "")); \
mkdirs(unzipDir); \
// FIXME: not using unzip() because it currently does not preserve file permissions \
//unzip(jar, unzipDir); \
exitOnError(captureOutput(err::println, unzipDir, "unzip", jar.getAbsolutePath())); \
// replace signature of *.extension.kws.ort.dylib files \
for (File f : glob(unzipDir.getPath() + "/ASSETS/osx-*/*.extension.kws.ort.dylib")) { \
exitOnError(captureOutput(err::println, "codesign", "--remove-signature", f.getPath())); \
if (id == null) { \
err.println("Choose identity to sign code (move with arrows and press ENTER):"); \
try { \
id = identities.get(prompt(identityDescriptions)); \
} catch (IOException e) { \
System.exit(1); \
} \
LinkedList<String> paths = new LinkedList<>(); \
LinkedList<File> unpacked = new LinkedList<>(); \
for (String p : new String[]{ \
"com.microsoft.cognitiveservices.speech.client-sdk-*.jar/ASSETS/osx-*/*.extension.kws.ort.dylib", \
"net.java.dev.jna.jna-*.jar/com/sun/jna/darwin-*/libjnidispatch.jnilib", \
"org.daisy.libs.io.bit3.jsass-*.jar/darwin-*/libjsass.dylib", \
"*.audio-encoder-lame-*.jar/macosx/lame", \
"mac/*.libhyphen-utils-*-mac.jar/native/macosx/*/libhyphen.dylib", \
"mac/*.liblouis-utils-*-mac.jar/native/macosx/*/liblouis.dylib", \
"mac/*.liblouis-utils-*-mac.jar/native/macosx/*/liblouisutdml/file2brl", \
"mac/*.liblouis-utils-*-mac.jar/native/macosx/*/liblouisutdml/*.dylib", \
"*.tts-adapter-acapela-3.1.5.jar/jnaerator-0.11-p1.jar/com/sun/jna/darwin/libjnidispatch.jnilib" \
}) \
paths.add("target/jars/common/" + p); \
while (!paths.isEmpty()) { \
String p = paths.pop(); \
String jarPath = p.substring(0, p.indexOf(".jar") + 4); \
File jar = glob(jarPath).get(0); \
File unpackDir = new File(jar.getParentFile(), jar.getName().replaceAll(".jar$$", "")); \
if (!unpackDir.exists()) { \
mkdirs(unpackDir); \
// FIXME: not using unzip() because it currently does not preserve file permissions \
//unzip(jar, unpackDir); \
exitOnError(captureOutput(err::println, unpackDir, "unzip", jar.getAbsolutePath())); \
unpacked.push(unpackDir); } \
p = p.substring(jarPath.length()); \
if (p.contains(".jar")) \
paths.add(unpackDir.getPath() + p); \
else { \
for (File f : glob(unpackDir.getPath() + p)) { \
exitOnError(captureOutput(err::println, "codesign", "--remove-signature", f.getPath())); \
if (id == null) { \
err.println("Choose identity to sign code (move with arrows and press ENTER):"); \
try { \
id = identities.get(prompt(identityDescriptions)); \
} catch (IOException e) { \
System.exit(1); \
} \
} \
if (f.getName().matches(".*\\.(dylib|jnilib)$$")) \
exitOnError(captureOutput(err::println, "codesign", "-s", id, "-v", f.getPath())); \
else \
exitOnError(captureOutput(err::println, "codesign", "--options", "runtime", \
"-s", id, "-v", f.getPath())); \
exitOnError(captureOutput(err::println, "codesign", "--verify", "-v", f.getPath())); \
if (!f.getName().matches(".*\\.(dylib|jnilib)$$")) \
exitOnError(captureOutput(err::println, "codesign", "--display", "-v", f.getPath())); } \
} \
exitOnError(captureOutput(err::println, "codesign", "-s", id, "-v", f.getPath())); } \
// delete META-INF folder with signature files \
rm(new File(unzipDir, "META-INF")); \
File fixedJar = new File(tmpDir, jar.getName()); \
exitOnError( \
captureOutput(err::println, "jar", "cvf", fixedJar.getPath(), "-C", unzipDir.getPath(), ".")); \
rm(jar); \
cp(fixedJar, jar); \
rm(tmpDir); \
} \
for (File f : unpacked) { \
File jar = new File(f.getAbsolutePath() + ".jar"); \
rm(jar); \
exitOnError( \
captureOutput(err::println, "ditto", "-c", "-k", f.getPath(), jar.getPath())); \
rm(f); \
} \
}
endif
exec("$(MVN)", "assembly:single", "-Passemble-mac-zip");
Expand Down Expand Up @@ -219,7 +249,7 @@ ifneq ($(OS), WINDOWS)
.PHONY : docker
# Note that when `docker' is enabled together with other targets, it is as if --without-osgi was also specified.
docker : mvn -Pwithout-osgi \
target/maven-jlink/classifiers/linux \
jre/target/maven-jlink/classifiers/linux \
target/assembly-$(assembly/VERSION)-linux/daisy-pipeline/bin/pipeline2
ifndef DUMP_PROFILES
mkdirs("target/docker"); \
Expand Down Expand Up @@ -249,9 +279,9 @@ dev-launcher : target/dev-launcher/pipeline2
target/dev-launcher/pipeline2 : pom.xml
ifdef BUILD_JRE_FOR_DEV_LAUNCHER
ifeq ($(OS), MACOSX)
target/dev-launcher/pipeline2 : target/maven-jlink/classifiers/mac target/assembly-$(assembly/VERSION)-mac/daisy-pipeline/bin/pipeline2
target/dev-launcher/pipeline2 : jre/target/maven-jlink/classifiers/mac target/assembly-$(assembly/VERSION)-mac/daisy-pipeline/bin/pipeline2
else
target/dev-launcher/pipeline2 : target/maven-jlink/classifiers/linux target/assembly-$(assembly/VERSION)-linux/daisy-pipeline/bin/pipeline2
target/dev-launcher/pipeline2 : jre/target/maven-jlink/classifiers/linux target/assembly-$(assembly/VERSION)-linux/daisy-pipeline/bin/pipeline2
endif
ifndef DUMP_PROFILES
mkdirs("$(dir $@)"); \
Expand All @@ -278,8 +308,8 @@ ifndef DUMP_PROFILES
endif
endif

target/maven-jlink/classifiers/mac : mvn -Pbuild-jre-mac
target/maven-jlink/classifiers/linux : mvn -Pbuild-jre-linux
jre/target/maven-jlink/classifiers/mac : mvn -Pbuild-jre-mac
jre/target/maven-jlink/classifiers/linux : mvn -Pbuild-jre-linux

target/assembly-$(assembly/VERSION)-mac/daisy-pipeline/bin/pipeline2 : mvn -Pcopy-artifacts \
-Pgenerate-release-descriptor \
Expand Down
23 changes: 23 additions & 0 deletions NEWS.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,26 @@
Changes in release v1.14.20
===========================

## Framework

- **NEW** API for voice previews
- **NEW** Allow setting `org.daisy.pipeline.tts.config` property through settings API
- **FIX** Remove error stack traces from webservice responses
- **FIX** Java API: Make job input parser more relaxed about boolean option values

## Modules

- **NEW** Support for Microsoft natural voices over [NaturalVoicesSAPIAdapter](https://github.com/gexgd0419/NaturalVoiceSAPIAdapter)
- **FIX** Support standard CSS's `voice-family` property (backward compatibility with the old behavior is ensured)
- **FIX** Compatibility with espeak-ng
- **FIX** Wrong doctype declaration of SMIL files in output of DAISY 3 to DAISY 2.02
- **FIX** Indent TTS log output
- Various other bugfixes and improvements

## Details

See [all the closed issues of this release](https://github.com/orgs/daisy/projects/6). To view using the [Github CLI](https://cli.github.com/): `gh project --owner daisy item-list 6`

Changes in release v1.14.19
===========================

Expand Down
Binary file added make/bin/darwin_arm64/eval-java
Binary file not shown.
Binary file added make/bin/linux_arm64/eval-java
Binary file not shown.
14 changes: 12 additions & 2 deletions make/enable-java-shell.mk
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,21 @@ endif
ifeq ($(OS),Windows_NT)
SHELL := $(dir $(lastword $(MAKEFILE_LIST)))bin/windows_amd64/eval-java.exe
else
ifeq ($(shell uname -s),Darwin)
UNAME_S := $(shell uname -s)
UNAME_P := $(shell uname -p)
ifeq ($(UNAME_S),Darwin)
ifneq ($(filter arm%,$(UNAME_P))$(filter aarch%,$(UNAME_P)),)
SHELL := $(dir $(lastword $(MAKEFILE_LIST)))bin/darwin_arm64/eval-java
else
SHELL := $(dir $(lastword $(MAKEFILE_LIST)))bin/darwin_amd64/eval-java
endif
else
ifeq ($(UNAME_S),Linux)
ifneq ($(filter arm%,$(UNAME_P))$(filter aarch%,$(UNAME_P)),)
SHELL := $(dir $(lastword $(MAKEFILE_LIST)))bin/linux_arm64/eval-java
else
ifeq ($(shell uname -s),Linux)
SHELL := $(dir $(lastword $(MAKEFILE_LIST)))bin/linux_amd64/eval-java
endif
else
SHELL := $(dir $(lastword $(MAKEFILE_LIST)))bin/windows_amd64/eval-java.exe
endif
Expand Down
12 changes: 9 additions & 3 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
</parent>
<groupId>org.daisy.pipeline</groupId>
<artifactId>assembly</artifactId>
<version>1.14.20-SNAPSHOT</version>
<version>1.14.21-SNAPSHOT</version>
<packaging>jar</packaging>
<name>DAISY Pipeline 2 :: Assembly</name>
<description>Builds the main distribution of the DAISY Pipeline 2.</description>
Expand Down Expand Up @@ -69,17 +69,23 @@
<dependency>
<groupId>org.daisy.pipeline</groupId>
<artifactId>framework-bom</artifactId>
<version>1.14.19</version>
<version>1.14.20</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.daisy.pipeline.modules</groupId>
<artifactId>modules-bom</artifactId>
<version>1.14.26</version>
<version>1.14.29</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- temporary until updated to modules 1.14.29 -->
<dependency>
<groupId>com.microsoft.cognitiveservices.speech</groupId>
<artifactId>client-sdk</artifactId>
<version>1.37.0</version>
</dependency>
<!-- missing from framework-bom -->
<dependency>
<groupId>com.nwalsh</groupId>
Expand Down
Loading

0 comments on commit 69a859f

Please sign in to comment.