end0tknr's kipple - 新web写経開発

http://d.hatena.ne.jp/end0tknr/ から移転しました

openam v.12.0.0 build error at openam-authentication/deviceprint/scripts/src/main/requirejs/r.js

jdk or mavenの影響かと思ったら、手元にあるnode.js環境が影響したみたい。

$ svn co https://svn.forgerock.org/openam/tags/12.0.0-1/openam
$ cd openam
$ export MAVEN_OPTS=-Xmx512m
$ mvn -DskipTests=true clean install
     :
[INFO] Running with Node @ node
/home/endo/tmp/openam/openam/openam-authentication/deviceprint/scripts/src/main/requirejs/r.js:2256
        if (path.existsSync(url)) {
                 ^
TypeError: undefined is not a function
    at Function.req.load (/home/endo/tmp/openam/openam/openam-authentication/deviceprint/scripts/src/main/requirejs/r.js:2256:18)
    at resume (/home/endo/tmp/openam/openam/openam-authentication/deviceprint/scripts/src/main/requirejs/r.js:1280:37)
    at Object.context.require (/home/endo/tmp/openam/openam/openam-authentication/deviceprint/scripts/src/main/requirejs/r.js:1479:25)
    at requirejs (/home/endo/tmp/openam/openam/openam-authentication/deviceprint/scripts/src/main/requirejs/r.js:1681:24)
    at /home/endo/tmp/openam/openam/openam-authentication/deviceprint/scripts/src/main/requirejs/r.js:9770:1
    at Object.<anonymous> (/home/endo/tmp/openam/openam/openam-authentication/deviceprint/scripts/src/main/requirejs/r.js:9820:2)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
         :
[INFO] OpenAM SOAP STS .................................... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 02:56 min
[INFO] Finished at: 2015-11-26T06:14:05+09:00
[INFO] Final Memory: 155M/461M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal com.github.mcheely:requirejs-maven-plugin:2.0.0:optimize (default) on project openam-auth-deviceprint-scripts: r.js exited with an error. -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
[ERROR] 
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn <goals> -rf :openam-auth-deviceprint-scripts

jsファイルでのerrorの為、node.jsが関係していると思い、node.js をyumで再インストールすると、build成功。目的のWARファイル群ができました。

$ mvn -DskipTests=true clean install
   :
[INFO] OpenAM Distribution Diagnostics .................... SUCCESS [  9.844 s]
[INFO] OpenAM SOAP STS .................................... SUCCESS [ 39.111 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 24:47 min
[INFO] Finished at: 2015-11-26T06:46:40+09:00
[INFO] Final Memory: 174M/490M
[INFO] ------------------------------------------------------------------------
$
$ find . -name "*.war"
./openam-console/target/openam-console-12.0.0-1.war
./openam-server/target/OpenAM-12.0.0-1.war
./openam-distauth/target/OpenAM-DistAuth-12.0.0-1.war
./openam-federation/openam-idpdiscovery-war/target/IDPDiscovery-12.0.0-1.war
./openam-server-only/target/OpenAM-ServerOnly-12.0.0-1.war
./openam-examples/openam-example-clientsdk-war/target/ExampleClientSDK-WAR-12.0.0-1.war
./openam-distribution/openam-distribution-fedlet-unconfigured/target/Fedlet-12.0.0-1.war
./openam-sts/openam-soap-sts/target/openam-soap-sts-12.0.0-1.war
./openam-oauth2-common/oauth2-oidc-test-server/target/oauth2-oidc-provider.war

2015/10にOpenAMのsrcは、svn→Gitに移行したらしい

https://wikis.forgerock.org/confluence/display/openam/Build+OpenAM+from+Source

The source code moved from SVN to Git in October 2015. The central git repository is hosted on ForgeRock's Stash server here; https://stash.forgerock.org/projects/OPENAM/repos/openam/browse

https://wikis.forgerock.org/confluence/pages/viewpage.action?pageId=31293718