Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,12 @@ Example:
}
```

### Vendoring Portico

`make lib` rebuilds and vendors only Portico's Java jar into this repository's local Maven file repository. Portico ships its own Ant wrapper at `codebase/ant`, so no separate Ant installation is required.

The vendoring script intentionally uses a Java-only Portico Ant build file. On Linux, Portico's full `build.xml` imports C++ profiles that are not needed for this project and can fail during Ant parsing with a duplicate `cpp.hla13.compile` target before any Java compilation begins.

### To Run

The build output does not bundle an RTI implementation. The development runtime targets add either the vendored Portico RTI jar or a local Pitch RTI install on the runtime classpath.
Expand Down
24 changes: 23 additions & 1 deletion scripts/vendor-portico.sh
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,8 @@ write_checksum() {
require_command git
require_command awk
require_command find
require_command java
require_command javac

WORK_DIR="$(mktemp -d "${TMPDIR:-/tmp}/portico-vendor.XXXXXX")"
cleanup() {
Expand Down Expand Up @@ -114,7 +116,27 @@ fi

echo "Building Portico ref ${PORTICO_REF}"
cd codebase
./ant java.jar.portico

JAVA_ONLY_BUILD_FILE="build-java-only.xml"
cat > "${JAVA_ONLY_BUILD_FILE}" <<EOF
<?xml version="1.0"?>
<project name="portico-java-only" default="java.jar.portico">
<import file="profiles/system.properties.xml"/>
<import file="profiles/system.libraries.xml"/>
<import file="profiles/system.macros.xml"/>

<extension-point name="master.clean"/>
<extension-point name="master.compile"/>
<extension-point name="master.test"/>
<extension-point name="master.sandbox"/>
<extension-point name="master.installer"/>
<extension-point name="master.release"/>

<include file="profiles/java.xml" as="java"/>
</project>
EOF

./ant -f "${JAVA_ONLY_BUILD_FILE}" java.jar.portico

PORTICO_JAR="$(find dist -path "*/lib/portico.jar" -type f | sort | tail -n 1)"
if [[ -z "${PORTICO_JAR}" ]]; then
Expand Down
Loading