<freeStyleBuild _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.model.Cause$UserIdCause'><shortDescription>Started by user Ian</shortDescription><userId>admin</userId><userName>Ian</userName></cause></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmaster _class='hudson.plugins.git.util.Build'><buildNumber>5</buildNumber><marked><SHA1>5af4670b53bdb049f997c63603327b4ca3142f35</SHA1><branch><SHA1>5af4670b53bdb049f997c63603327b4ca3142f35</SHA1><name>refs/remotes/origin/master</name></branch></marked><revision><SHA1>5af4670b53bdb049f997c63603327b4ca3142f35</SHA1><branch><SHA1>5af4670b53bdb049f997c63603327b4ca3142f35</SHA1><name>refs/remotes/origin/master</name></branch></revision></refsremotesoriginmaster></buildsByBranchName><lastBuiltRevision><SHA1>5af4670b53bdb049f997c63603327b4ca3142f35</SHA1><branch><SHA1>5af4670b53bdb049f997c63603327b4ca3142f35</SHA1><name>refs/remotes/origin/master</name></branch></lastBuiltRevision><remoteUrl>https://thoughtframe.ai/thoughtframe/classes/AZhhg2hJgniNmOZnUs4e/code/repo/thoughtframe-core/thoughtframe-core</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'><artifactsUrl>http://dev.ijsolutions.ca/jenkins/view/all/job/thoughtframe-core/lastSuccessfulBuild/artifact</artifactsUrl><changesUrl>http://dev.ijsolutions.ca/jenkins/view/all/job/thoughtframe-core/changes</changesUrl><displayUrl>http://dev.ijsolutions.ca/jenkins/view/all/job/thoughtframe-core/lastSuccessfulBuild/</displayUrl><testsUrl>http://dev.ijsolutions.ca/jenkins/view/all/job/thoughtframe-core/lastSuccessfulBuild/testReport</testsUrl></action><building>false</building><displayName>#5</displayName><duration>36742</duration><estimatedDuration>116852</estimatedDuration><fullDisplayName>thoughtframe-core #5</fullDisplayName><id>5</id><inProgress>false</inProgress><keepLog>false</keepLog><number>5</number><queueId>6</queueId><result>SUCCESS</result><timestamp>1792091691670</timestamp><url>http://dev.ijsolutions.ca/jenkins/view/all/job/thoughtframe-core/5/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>dam/webapp/WEB-INF/base/entermedia/.gitkeep</affectedPath><commitId>68330a2b9aa063a179f07f7633025694d4137e6a</commitId><timestamp>1792090400000</timestamp><author><absoluteUrl>http://dev.ijsolutions.ca/jenkins/user/ian</absoluteUrl><fullName>ian</fullName></author><authorEmail>ian@oneliveweb.com</authorEmail><comment>dam: keep base/entermedia (empty scaffold) in git

/WEB-INF/base/entermedia is a fallbackdirectory target but the dir was empty, so
git never tracked it and the setupLinks symlink dangled on any non-laptop checkout
(createWar: 'Couldn't follow symbolic link .../base/entermedia'). Add a .gitkeep so
the directory exists off-host.
</comment><date>2026-10-15 15:53:20 -0300</date><id>68330a2b9aa063a179f07f7633025694d4137e6a</id><msg>dam: keep base/entermedia (empty scaffold) in git</msg><path><editType>add</editType><file>dam/webapp/WEB-INF/base/entermedia/.gitkeep</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>thoughtframe/build.gradle</affectedPath><commitId>d9dd5d650879985d6bdeac3510f14bf0be5d671c</commitId><timestamp>1792090601000</timestamp><author><absoluteUrl>http://dev.ijsolutions.ca/jenkins/user/ian</absoluteUrl><fullName>ian</fullName></author><authorEmail>ian@oneliveweb.com</authorEmail><comment>thoughtframe: createWar copies platform bases directly (no symlink dependency)

Mirror the :damsel createWar: copy WEB-INF/base/{entermedia,emfrontend2,system,
manager,mediadb} from :dam and WEB-INF/base/openedit from :cms directly, instead of
following the setupLinks symlinks (host-specific absolute targets that dangle on a
fresh checkout / CI). Keeps setupLinks for the local run. WAR now assembles on any host.
</comment><date>2026-10-15 15:56:41 -0300</date><id>d9dd5d650879985d6bdeac3510f14bf0be5d671c</id><msg>thoughtframe: createWar copies platform bases directly (no symlink dependency)</msg><path><editType>edit</editType><file>thoughtframe/build.gradle</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>thoughtframe/build.gradle</affectedPath><commitId>7c0f76385bb313f4906cf01cfd96ea5b982e759f</commitId><timestamp>1792090739000</timestamp><author><absoluteUrl>http://dev.ijsolutions.ca/jenkins/user/ian</absoluteUrl><fullName>ian</fullName></author><authorEmail>ian@oneliveweb.com</authorEmail><comment>thoughtframe: createWar ships product code in WEB-INF/lib only (classpath = files())

The War task was routing the classpath dirs into WEB-INF/classes (579 files) where they
shadow the jar and are never refreshed by the runtime's overlay upgrade. Mirror the
:damsel createWar: classpath = files(), so only WEB-INF/lib carries product code.
</comment><date>2026-10-15 15:58:59 -0300</date><id>7c0f76385bb313f4906cf01cfd96ea5b982e759f</id><msg>thoughtframe: createWar ships product code in WEB-INF/lib only (classpath = files())</msg><path><editType>edit</editType><file>thoughtframe/build.gradle</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>settings.gradle</affectedPath><affectedPath>thoughtframe/build.gradle</affectedPath><commitId>5af4670b53bdb049f997c63603327b4ca3142f35</commitId><timestamp>1792091673000</timestamp><author><absoluteUrl>http://dev.ijsolutions.ca/jenkins/user/ian</absoluteUrl><fullName>ian</fullName></author><authorEmail>ian@oneliveweb.com</authorEmail><comment>build: JDK 25 toolchain + foojay auto-provisioning

:thoughtframe now declares a 25 toolchain and settings.gradle enables the foojay
resolver, so Gradle provisions JDK 25 itself instead of depending on the host JDK
being 25. Mirrors :damsel. Build is JDK-agnostic on any agent.
</comment><date>2026-10-15 16:14:33 -0300</date><id>5af4670b53bdb049f997c63603327b4ca3142f35</id><msg>build: JDK 25 toolchain + foojay auto-provisioning</msg><path><editType>edit</editType><file>settings.gradle</file></path><path><editType>edit</editType><file>thoughtframe/build.gradle</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>http://dev.ijsolutions.ca/jenkins/user/ian</absoluteUrl><fullName>ian</fullName><id>ian</id></culprit></freeStyleBuild>