Giter Site home page Giter Site logo

dita-ot-gradle's Introduction

I pretend I know how to program, mostly Clojure.

dita-ot-gradle's People

Contributors

eerohele avatar infotexture avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dita-ot-gradle's Issues

DITA_HOME is not used

The build file of the examples/simple says:

// By default, it will use your DITA_HOME system environment variable.

But if it is missing, the following message appears:

DITA Open Toolkit directory not set. Add a line like this into build.gradle

Could you please remove the comment or use to the environment variable?

Document alternative way of using the plugin

In addition to a dita block, you can also define tasks like this:

import com.github.eerohele.DitaOtTask

task html5(type: DitaOtTask) {
    input 'my.ditamap'
    transtype 'html5'
}

It's a regular Gradle feature, but since many DITA-OT users probably don't know that, it might be good to add an example into the documentation and in the examples directory.

error XPST0017: cannot find function with DITA-OT 3.0

When building with DITA-OT 3.+ HTML5 based transformations crash with this type or error

[ant:xslt] Static error near {...dita-ot:get-element-id(@hre...} in expression in xsl:value-of/@select on line 321 column 113 of rel-links.xsl:

[ant:xslt]   XPST0017: Cannot find a 2-argument function named
[ant:xslt]   {http://dita-ot.sourceforge.net/ns/201007/dita-ot}generate-id()

This does not happen when I launch the tranformation from the command-line.

Samples attached.
XPST0017-error.zip

Stacktrace:

$ ./gradlew dita --stacktrace
:dita
[ant:xslt] Warning at xsl:stylesheet on line 12 column 59 of map2html5Impl.xsl:

[ant:xslt]   Stylesheet module plugin:org.dita.html5:xsl/map2html5Impl.xsl is included or imported more

[ant:xslt]   than once. This is permitted, but may lead to errors or unexpected behavior
[ant:xslt] Warning at xsl:stylesheet on line 15 column 40 of functions.xsl:

[ant:xslt]   Stylesheet module functions.xsl is included or imported more than once. This is permitted,

[ant:xslt]   but may lead to errors or unexpected behavior
[ant:xslt] Warning at xsl:stylesheet on line 12 column 59 of map2html5Impl.xsl:

[ant:xslt]   Stylesheet module plugin:org.dita.html5:xsl/map2html5Impl.xsl is included or imported more

[ant:xslt]   than once. This is permitted, but may lead to errors or unexpected behavior
[ant:xslt] Warning at xsl:stylesheet on line 12 column 59 of map2html5Impl.xsl:

[ant:xslt]   Stylesheet module plugin:org.dita.html5:xsl/map2html5Impl.xsl is included or imported more

[ant:xslt]   than once. This is permitted, but may lead to errors or unexpected behavior
[ant:xslt] Warning at xsl:stylesheet on line 6 column 64 of header.xsl:

[ant:xslt]   Stylesheet module ../../com.lgroup.help/xsl/header.xsl is included or imported more than

[ant:xslt]   once. This is permitted, but may lead to errors or unexpected behavior
[ant:xslt] Static error near {...dita-ot:get-element-id(@hre...} in expression in xsl:value-of/@select on line 321                                                                       column 113 of rel-links.xsl:

[ant:xslt]   XPST0017: Cannot find a 2-argument function named

[ant:xslt]   {http://dita-ot.sourceforge.net/ns/201007/dita-ot}generate-id()
[ant:xslt] Static error near {...dita-ot:get-element-id(@hre...} in expression in xsl:value-of/@select on line 333                                                                       column 115 of rel-links.xsl:

[ant:xslt]   XPST0017: Cannot find a 2-argument function named

[ant:xslt]   {http://dita-ot.sourceforge.net/ns/201007/dita-ot}generate-id()
[ant:xslt] Static error near {...enerate-id(parent::*/@id, @...} in expression in xsl:sequence/@select on line 283                                                                       column 73 of topic.xsl:

[ant:xslt]   XPST0017: Cannot find a 2-argument function named

[ant:xslt]   {http://dita-ot.sourceforge.net/ns/201007/dita-ot}generate-id()
[ant:xslt] Static error at char 1 near {...t:get-prefixed-id(.., ../@i...} in expression in a/@id on line 766 colum                                                                      n 58 of topic.xsl:

[ant:xslt]   XPST0017: Cannot find a 2-argument function named

[ant:xslt]   {http://dita-ot.sourceforge.net/ns/201007/dita-ot}get-prefixed-id()
[ant:xslt] Static error near {...($idvalue/parent::*, $idval...} in expression in xsl:attribute/@select on line 170                                                                      5 column 71 of topic.xsl:

[ant:xslt]   XPST0017: Cannot find a 2-argument function named

[ant:xslt]   {http://dita-ot.sourceforge.net/ns/201007/dita-ot}get-prefixed-id()
[ant:xslt] Static error in {dita-ot:generate-html-id(.)} in expression in xsl:attribute/@select on line 230 column                                                                       72 of tables.xsl:

[ant:xslt]   XPST0017: Cannot find a 1-argument function named

[ant:xslt]   {http://dita-ot.sourceforge.net/ns/201007/dita-ot}generate-html-id()
[ant:xslt] Static error in {dita-ot:generate-html-id(.)} in expression in xsl:value-of/@select on line 294 column 6                                                                      1 of tables.xsl:

[ant:xslt]   XPST0017: Cannot find a 1-argument function named

[ant:xslt]   {http://dita-ot.sourceforge.net/ns/201007/dita-ot}generate-html-id()
[ant:xslt] Static error at char 2 in {*[table:is-thead-entry(.)]} in pattern in xsl:template/@match on line 518 col                                                                      umn 52 of tables.xsl:

[ant:xslt]   XPST0017: Cannot find a 1-argument function named

[ant:xslt]   {http://dita-ot.sourceforge.net/ns/201007/dita-ot/table}is-thead-entry()
[ant:xslt] Static error at char 2 in {*[table:is-tbody-entry(.)][} in pattern in xsl:template/@match on line 524 co                                                                      lumn 76 of tables.xsl:

[ant:xslt]   XPST0017: Cannot find a 1-argument function named

[ant:xslt]   {http://dita-ot.sourceforge.net/ns/201007/dita-ot/table}is-tbody-entry()
[ant:xslt] Static error at char 2 in {*[table:is-tbody-entry(.)][} in pattern in xsl:template/@match on line 530 co                                                                      lumn 100 of tables.xsl:

[ant:xslt]   XPST0017: Cannot find a 1-argument function named

[ant:xslt]   {http://dita-ot.sourceforge.net/ns/201007/dita-ot/table}is-tbody-entry()
[ant:xslt] Static error in {table:get-entry-colsep(.)} in expression in xsl:variable/@select on line 564 column 93                                                                       of tables.xsl:

[ant:xslt]   XPST0017: Cannot find a 1-argument function named

[ant:xslt]   {http://dita-ot.sourceforge.net/ns/201007/dita-ot/table}get-entry-colsep()
[ant:xslt] Static error in {table:get-entry-rowsep(.)} in expression in xsl:variable/@select on line 565 column 93                                                                       of tables.xsl:

[ant:xslt]   XPST0017: Cannot find a 1-argument function named

[ant:xslt]   {http://dita-ot.sourceforge.net/ns/201007/dita-ot/table}get-entry-rowsep()
[ant:xslt] Static error at char 7 near {... table:get-entry-align(.), ...} in expression in xsl:apply-templates/@se                                                                      lect on line 568 column 9 of tables.xsl:

[ant:xslt]   XPST0017: Cannot find a 1-argument function named

[ant:xslt]   {http://dita-ot.sourceforge.net/ns/201007/dita-ot/table}get-entry-align()
[ant:xslt] Static error at char 2 in {*[table:is-thead-entry(.)]} in pattern in xsl:template/@match on line 571 col                                                                      umn 67 of tables.xsl:

[ant:xslt]   XPST0017: Cannot find a 1-argument function named

[ant:xslt]   {http://dita-ot.sourceforge.net/ns/201007/dita-ot/table}is-thead-entry()
[ant:xslt] Static error in {dita-ot:generate-html-id(.)} in expression in xsl:attribute/@select on line 572 column                                                                       68 of tables.xsl:

[ant:xslt]   XPST0017: Cannot find a 1-argument function named

[ant:xslt]   {http://dita-ot.sourceforge.net/ns/201007/dita-ot}generate-html-id()
[ant:xslt] Static error at char 2 in {*[table:is-tbody-entry(.)]} in pattern in xsl:template/@match on line 575 col                                                                      umn 67 of tables.xsl:

[ant:xslt]   XPST0017: Cannot find a 1-argument function named

[ant:xslt]   {http://dita-ot.sourceforge.net/ns/201007/dita-ot/table}is-tbody-entry()
[ant:xslt] Static error in {dita-ot:generate-html-id(.)} in expression in xsl:attribute/@select on line 75 column 7                                                                      2 of simpletable.xsl:

[ant:xslt]   XPST0017: Cannot find a 1-argument function named

[ant:xslt]   {http://dita-ot.sourceforge.net/ns/201007/dita-ot}generate-html-id()
[ant:xslt] Static error near {...ntry ')][number($thiscolnum...} in expression in xsl:value-of/@select on line 117                                                                       column 179 of simpletable.xsl:

[ant:xslt]   XPST0017: Cannot find a 1-argument function named

[ant:xslt]   {http://dita-ot.sourceforge.net/ns/201007/dita-ot}generate-html-id()
[ant:xslt] Static error at char 2 in {*[simpletable:is-head-entry(.)...} in pattern in xsl:template/@match on line                                                                       205 column 57 of simpletable.xsl:

[ant:xslt]   XPST0017: Cannot find a 1-argument function named

[ant:xslt]   {http://dita-ot.sourceforge.net/ns/201007/dita-ot/simpletable}is-head-entry()
[ant:xslt] Static error at char 2 in {*[simpletable:is-body-entry(.)...} in pattern in xsl:template/@match on line                                                                       211 column 89 of simpletable.xsl:

[ant:xslt]   XPST0017: Cannot find a 1-argument function named

[ant:xslt]   {http://dita-ot.sourceforge.net/ns/201007/dita-ot/simpletable}is-body-entry()
[ant:xslt] Static error at char 2 in {*[simpletable:is-body-entry(.)...} in pattern in xsl:template/@match on line                                                                       217 column 115 of simpletable.xsl:

[ant:xslt]   XPST0017: Cannot find a 1-argument function named

[ant:xslt]   {http://dita-ot.sourceforge.net/ns/201007/dita-ot/simpletable}is-body-entry()
[ant:xslt] Static error at char 2 in {*[simpletable:is-head-entry(.)...} in pattern in xsl:template/@match on line                                                                       236 column 72 of simpletable.xsl:

[ant:xslt]   XPST0017: Cannot find a 1-argument function named

[ant:xslt]   {http://dita-ot.sourceforge.net/ns/201007/dita-ot/simpletable}is-head-entry()
[ant:xslt] Static error at char 2 in {*[simpletable:is-body-entry(.)...} in pattern in xsl:template/@match on line                                                                       240 column 72 of simpletable.xsl:

[ant:xslt]   XPST0017: Cannot find a 1-argument function named

[ant:xslt]   {http://dita-ot.sourceforge.net/ns/201007/dita-ot/simpletable}is-body-entry()
[ant:xslt] Static error in {simpletable:is-keycol-entry(.)} in expression in xsl:if/@test on line 241 column 51 of                                                                       simpletable.xsl:

[ant:xslt]   XPST0017: Cannot find a 1-argument function named

[ant:xslt]   {http://dita-ot.sourceforge.net/ns/201007/dita-ot/simpletable}is-keycol-entry()
[ant:xslt] Static error at char 7 near {...e:get-current-table($ctx)} in expression in xsl:variable/@select on line                                                                       77 column 9 of properties.xsl:

[ant:xslt]   XPST0017: Cannot find a 1-argument function named

[ant:xslt]   {http://dita-ot.sourceforge.net/ns/201007/dita-ot/simpletable}get-current-table()
:dita FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':dita'.
> The following error occurred while executing this line:
  C:\ditaot\build.xml:45: The following error occurred while executing this line:
  C:\ditaot\plugins\org.dita.html5\build_dita2html5.xml:181: The following error occurred while executing this line                                                                      :
  C:\ditaot\plugins\org.dita.html5\build_dita2html5.xml:232: java.lang.RuntimeException: Failed to compile styleshe                                                                      et 'C:\ditaot\plugins\org.dita.html5\xsl\map2html5-cover.xsl': net.sf.saxon.s9api.SaxonApiException: Errors were re                                                                      ported during stylesheet compilation

* Try:
Run with --info or --debug option to get more log output.

* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':dita'.
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExec                                                                      uter.java:100)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.ja                                                                      va:70)
        at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:6                                                                      2)
        at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputC                                                                      achingStateExecuter.java:54)
        at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
        at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTas                                                                      kExecuter.java:97)
        at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.                                                                      java:87)
        at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifact                                                                      StateTaskExecuter.java:52)
        at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecu                                                                      ter.java:52)
        at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54)
        at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecu                                                                      ter.java:43)
        at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.ja                                                                      va:34)
        at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.run(DefaultTaskGraphExec                                                                      uter.java:248)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultB                                                                      uildOperationExecutor.java:336)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultB                                                                      uildOperationExecutor.java:328)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:19                                                                      9)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
        at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphEx                                                                      ecuter.java:241)
        at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphEx                                                                      ecuter.java:230)
        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.processTask(DefaultTaskPlanExe                                                                      cutor.java:123)
        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.access$200(DefaultTaskPlanExec                                                                      utor.java:79)
        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecu                                                                      tor.java:104)
        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecu                                                                      tor.java:98)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.execute(DefaultTaskExecutionPlan.java:625)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.executeWithTask(DefaultTaskExecutionPlan.java:58                                                                      0)
        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.run(DefaultTaskPlanExecutor.ja                                                                      va:98)
        at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
        at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
        at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
Caused by: : The following error occurred while executing this line:
C:\ditaot\build.xml:45: The following error occurred while executing this line:
C:\ditaot\plugins\org.dita.html5\build_dita2html5.xml:181: The following error occurred while executing this line:
C:\ditaot\plugins\org.dita.html5\build_dita2html5.xml:232: java.lang.RuntimeException: Failed to compile stylesheet                                                                       'C:\ditaot\plugins\org.dita.html5\xsl\map2html5-cover.xsl': net.sf.saxon.s9api.SaxonApiException: Errors were repo                                                                      rted during stylesheet compilation
        at org.apache.tools.ant.ProjectHelper.addLocationToBuildException(ProjectHelper.java:568)
        at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:443)
        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:293)
        at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
        at org.gradle.api.internal.project.ant.BasicAntBuilder.nodeCompleted(BasicAntBuilder.java:78)
        at org.gradle.internal.metaobject.BeanDynamicObject$MetaClassAdapter.invokeMethod(BeanDynamicObject.java:47                                                                      9)
        at org.gradle.internal.metaobject.BeanDynamicObject.tryInvokeMethod(BeanDynamicObject.java:191)
        at org.gradle.internal.metaobject.AbstractDynamicObject.invokeMethod(AbstractDynamicObject.java:160)
        at org.gradle.api.internal.project.antbuilder.AntBuilderDelegate.nodeCompleted(AntBuilderDelegate.java:118)
        at com.github.eerohele.DitaOtTask$_render_closure4$_closure7$_closure8.doCall(DitaOtTask.groovy:187)
        at com.github.eerohele.DitaOtTask$_render_closure4$_closure7.doCall(DitaOtTask.groovy:184)
        at com.github.eerohele.DitaOtTask$_render_closure4.doCall(DitaOtTask.groovy:181)
        at org.gradle.api.internal.ClosureBackedAction.execute(ClosureBackedAction.java:71)
        at org.gradle.api.internal.ClosureBackedAction.execute(ClosureBackedAction.java:53)
        at org.gradle.api.internal.project.antbuilder.DefaultIsolatedAntBuilder$2.execute(DefaultIsolatedAntBuilder                                                                      .java:152)
        at org.gradle.api.internal.project.antbuilder.DefaultIsolatedAntBuilder$2.execute(DefaultIsolatedAntBuilder                                                                      .java:134)
        at org.gradle.api.internal.project.antbuilder.ClassPathToClassLoaderCache.withCachedClassLoader(ClassPathTo                                                                      ClassLoaderCache.java:134)
        at org.gradle.api.internal.project.antbuilder.DefaultIsolatedAntBuilder.execute(DefaultIsolatedAntBuilder.j                                                                      ava:128)
        at org.gradle.api.internal.project.IsolatedAntBuilder$execute.call(Unknown Source)
        at com.github.eerohele.DitaOtTask.render(DitaOtTask.groovy:180)
        at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
        at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.doExecute(Defau                                                                      ltTaskClassInfoStore.java:142)
        at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.execute(Default                                                                      TaskClassInfoStore.java:135)
        at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.execute(Default                                                                      TaskClassInfoStore.java:122)
        at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:762)
        at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:729)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java                                                                      :121)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultB                                                                      uildOperationExecutor.java:336)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultB                                                                      uildOperationExecutor.java:328)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:19                                                                      9)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecu                                                                      ter.java:110)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExec                                                                      uter.java:92)
        ... 28 more
Caused by: C:\ditaot\build.xml:45: The following error occurred while executing this line:
C:\ditaot\plugins\org.dita.html5\build_dita2html5.xml:181: The following error occurred while executing this line:
C:\ditaot\plugins\org.dita.html5\build_dita2html5.xml:232: java.lang.RuntimeException: Failed to compile stylesheet                                                                       'C:\ditaot\plugins\org.dita.html5\xsl\map2html5-cover.xsl': net.sf.saxon.s9api.SaxonApiException: Errors were repo                                                                      rted during stylesheet compilation
        at org.apache.tools.ant.ProjectHelper.addLocationToBuildException(ProjectHelper.java:568)
        at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:443)
        at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105)
        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:293)
        at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
        at org.apache.tools.ant.Task.perform(Task.java:348)
        at org.apache.tools.ant.Target.execute(Target.java:435)
        at org.apache.tools.ant.Target.performTasks(Target.java:456)
        at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1405)
        at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
        at org.apache.tools.ant.Project.executeTargets(Project.java:1260)
        at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:441)
        ... 59 more
Caused by: C:\ditaot\plugins\org.dita.html5\build_dita2html5.xml:181: The following error occurred while executing                                                                       this line:
C:\ditaot\plugins\org.dita.html5\build_dita2html5.xml:232: java.lang.RuntimeException: Failed to compile stylesheet                                                                       'C:\ditaot\plugins\org.dita.html5\xsl\map2html5-cover.xsl': net.sf.saxon.s9api.SaxonApiException: Errors were repo                                                                      rted during stylesheet compilation
        at org.apache.tools.ant.ProjectHelper.addLocationToBuildException(ProjectHelper.java:568)
        at org.apache.tools.ant.taskdefs.MacroInstance.execute(MacroInstance.java:399)
        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:293)
        at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
        at org.apache.tools.ant.Task.perform(Task.java:348)
        at org.apache.tools.ant.Target.execute(Target.java:435)
        at org.apache.tools.ant.Target.performTasks(Target.java:456)
        at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1405)
        at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
        at org.apache.tools.ant.Project.executeTargets(Project.java:1260)
        at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:441)
        ... 69 more
Caused by: C:\ditaot\plugins\org.dita.html5\build_dita2html5.xml:232: java.lang.RuntimeException: Failed to compile                                                                       stylesheet 'C:\ditaot\plugins\org.dita.html5\xsl\map2html5-cover.xsl': net.sf.saxon.s9api.SaxonApiException: Error                                                                      s were reported during stylesheet compilation
        at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:116)
        at org.apache.tools.ant.Task.perform(Task.java:348)
        at org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:68)
        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:293)
        at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
        at org.apache.tools.ant.Task.perform(Task.java:348)
        at org.apache.tools.ant.taskdefs.MacroInstance.execute(MacroInstance.java:396)
        ... 78 more
Caused by: java.lang.RuntimeException: Failed to compile stylesheet 'C:\ditaot\plugins\org.dita.html5\xsl\map2html5                                                                      -cover.xsl': net.sf.saxon.s9api.SaxonApiException: Errors were reported during stylesheet compilation
        at org.dita.dost.module.XsltModule.execute(XsltModule.java:84)
        at org.dita.dost.ant.ExtensibleAntInvoker.execute(ExtensibleAntInvoker.java:163)
        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:293)
        at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
        ... 84 more
Caused by: javax.xml.transform.TransformerConfigurationException: net.sf.saxon.s9api.SaxonApiException: Errors were                                                                       reported during stylesheet compilation
        at net.sf.saxon.jaxp.SaxonTransformerFactory.newTemplates(SaxonTransformerFactory.java:158)
        at org.dita.dost.module.XsltModule.execute(XsltModule.java:82)
        ... 87 more
Caused by: net.sf.saxon.s9api.SaxonApiException: Errors were reported during stylesheet compilation
        at net.sf.saxon.s9api.XsltCompiler.compile(XsltCompiler.java:742)
        at net.sf.saxon.jaxp.SaxonTransformerFactory.newTemplates(SaxonTransformerFactory.java:155)
        ... 88 more
Caused by: net.sf.saxon.trans.XPathException: Errors were reported during stylesheet compilation
        at net.sf.saxon.style.StylesheetModule.loadStylesheet(StylesheetModule.java:260)
        at net.sf.saxon.style.Compilation.compileSingletonPackage(Compilation.java:106)
        at net.sf.saxon.s9api.XsltCompiler.compile(XsltCompiler.java:739)
        ... 89 more


* Get more help at https://help.gradle.org

BUILD FAILED in 13s
1 actionable task: 1 executed

Support multiple transtypes

The plugin should accept a list of transtypes as an argument so that it's easy to publish the same document into multiple output formats in one go.

For example:

dita {
  input 'my.ditamap'
  transtype ['html5', 'pdf', 'troff']
}

using org.dita-community.qa plugin with the dita-ot-gradle

I'm trying to use org.dita-community.qa plugin in a gradle build system. my build.gradle file looks like this:

plugins {
    id 'com.github.eerohele.dita-ot-gradle' version '0.4.1'
}

defaultTasks 'dita'

ditaOt.dir 'dita-ot-2.4.6'

ditaOt {
    dependsOn "extractDeps"
    dir "dita-ot-2.4.6"
    plugins 'https://github.com/dita-community/org.dita-community.qa/releases/download/version-1.3/org.dita-community.qa-1.3.zip'
}

dita {
    input 'qa_map.ditamap'
    transtype 'qa'
}

I'm unclear how to integrate the plugin properly as part of the gradle build. Is there a gradle command I'm missing in the build file to integrate the plugin?

Thanks.

Using the dita-ot-gradle plugin as the basis for a web service

I have a question about the use of your plugin.

I am looking at ways to expose DITA-OT through a web-service. (Every request will be for the same transtype, but the input ditamap and topic files will be different.) In the short term load will be quite light, but we need to have a roadmap for providing scalability as the load increases.

Our as-is solution works by starting a JVM and kicking-off Ant for every request. Not surprisingly it takes quite a lot time.

I've used your plug-in on my local machine to do the same DITA-OT processing, and with the Gradle daemon active seen really significant performance improvements. So this looks promising as the basis for an alternative to our current way of doing things on the server.

My question is whether this sounds like a reasonable approach to providing a web service. Are there any particular issues or risks that you think this approach would have that we should be aware of?

Thanks in advance for any thoughts you might have about this.

Setting properties in build.gradle not working

Setting properties does not work as expected. The output css directory is created, but the only CSS files that are placed there are commonltr.css and commonrtl.css. Nor is the link to the user CSS created in the HTML output. The temp dir is not created (or at least not in the intended place. Using this build.gradle.
`
plugins {
id 'com.github.eerohele.dita-ot-gradle' version '0.7.0'
}

defaultTasks 'dita'

dita {
ditaOt '../jdwinfodesign/DITA-OT-instances/dita-ot-3.5.4'
// Point DITA-OT to the files you want to publish.
input 'User_Guide-reuse-only.ditamap'
// Tell DITA-OT what you want it to produce.
transtype 'html5'
// Choose DITAVAL.
filter 'ditavals/product-sta.ditaval'
// Choose output directory.
output 'out/sta'

properties {
    property(name: 'args.copycss', value: 'yes')
	property(name: 'args.cssroot', value: 'css')
	property(name: 'args.css', value: 'jdwinfodesign-html5.css')
	property(name: 'args.csspath', value: 'css')
	property(name: 'dita.temp.dir', value: 'temp')
	property(name: 'clean.temp', value: 'no')
}	

}`

DITA OT processing speed is not as per the expectation

This is not a bug/Issue, I do not see any contact details to send the feedback.

I have installed DITA OT Gradle and ran the DITA OT 3.5.4 plugins xhtml and pdf2 against a larger document. But I am not able to get the expected speed comparing to the local DITA OT processing speed.

image

Due to the parsing error I have removed some lines from the build.gradle file.

My build.gradle file
plugins {
id 'groovy'
id 'codenarc'
id 'java-gradle-plugin'
id 'de.undercouch.download' version '4.1.1'
id 'se.patrikerdes.use-latest-versions' version '0.2.15'
id 'com.github.ben-manes.versions' version '0.36.0'
id 'com.github.eerohele.dita-ot-gradle' version '0.7.1'
}

sourceCompatibility = 1.8

defaultTasks 'check'

dependencies {
implementation localGroovy()
implementation 'commons-io:commons-io:2.8.0'

testImplementation('org.spockframework:spock-core:1.3-groovy-2.5') {
    exclude module: 'groovy-all'
}

testImplementation 'junit:junit:4.13.1'

}

codenarc {
toolVersion = '1.0'
configFile = file('config/codenarc/codenarc.groovy')
}
dita {
ditaOt '../dita-ot-3.5.4'
input '../input/jobtemp/doceng_temp_48758_ctp-bundles.ditamap'
transtype 'xhtml'

}

group = 'com.github.eerohele'
version = '0.7.1'

gradlePlugin {
plugins {
ditaOt {
id = 'com.github.eerohele.dita-ot-gradle'
displayName = 'DITA-OT Gradle Plugin'
implementationClass = 'com.github.eerohele.DitaOtPlugin'
description = 'A Gradle plugin for running DITA Open Toolkit'
}
}
}

input path doesn't work with "special" characters in it

The dita ot developer archive uses a path like this: dita-ot-2.3+45e1331

That works fine for the ditaOt.dir property, but not in the input param.

I'm on a Mac running El Capitan, with bash as my shell.

Test case:

  1. In ~/dita unzip the latest dita-ot developer archive. Notice it creates a directory like dita-ot-2.3+45e1331
  2. In ~/dita, create a new directory "gradle-test"
  3. Copy the attached build.gradle file into gradle-test
  4. In gradle-test, run gradle

Resulting error message (replaced my path with /.../ for ease of reading):

radle
:dita FAILED

FAILURE: Build failed with an exception.

  • What went wrong:
    Execution failed for task ':dita'.

    The following error occurred while executing this line:
    /.../dita-ot-2.3+45e1331/build.xml:41: The following error occurred while executing this line:
    /.../dita-ot-2.3+45e1331/plugins/org.dita.base/build_preprocess.xml:42: Failed to run pipeline: [DOTA069F][FATAL] Input file 'file:/.../dita-ot-2.3+45e1331/docsrc/userguide.ditamap' cannot be located or read. Ensure that file was specified properly and that you have permission to access it.

  • Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 2.945 secs

build.gradle.zip

Allow setting DITA-OT location in execution phase

  • Add ditaOt property to dita task
  • Add support for custom classpath definitions
  • Add unit tests
  • Add support for automatic plugin installation in execution phase
  • Write documentation
  • Add examples
  • Investigate automatic DITA-OT download either via GitHub releases or by cloning a Git tag

FATAL error with 0.5.0

Following issue #10 I used the 0.5.0 version and got an error during the copy-phase.

[ant:branch-filter] Failed to parse file:/C:/temp/dita-transform/build/tmp/L2_help_whats_new_publi.ditamap

It seems all ditamaps are renamed with a generated suffix : L2_help_illus.ditamap.tmp1512028981408

I attached the source map, the tmp dir and the stacktrace.

L2_help_whats_new_publi.zip
tmp.zip
stacktrace.log

build.gradle

plugins {
    id 'com.github.eerohele.dita-ot-gradle' version '0.5.0'
}



ditaOt{
	ditaOt.dir 'c:/DITA-OT'
	classpath  getDefaultClasspath(project).matching {
		exclude('**/saxon*.jar')
	} + file('c:/saxon/saxon9ee.jar')
}


dita{
	dependsOn "ditaOt"
	input "c:/workspace/L2-head/L2_optimization_TB_publi.ditamap"
	output "build/out"
	temp "build/tmp"
	transtype "pdf"
}

Add DITA-OT plugin JAR files to classpath

Currently AntBuilderAssistant only adds PDF2 JARs to classpath:

'resources/',
'lib/**/*.jar',
'plugins/org.dita.pdf2/lib/fo.jar',
'plugins/org.dita.pdf2/build/libs/fo.jar'

Also, in DITA-OT 3.0 the configuration files have been moved from resources to config directory.

The getClasspath should be modified to:

  1. add config for DITA-OT 3.0
  2. read config/plugins.xml (resources/plugins.xml in DITA-OT 2.x) and get list of plugin JARs from there. Then there will be no need to hard code PDF2 JARs

Build fails with gradle 2.13

Using the simple build.gradle example file on http://eerohele.github.io/dita-ot-gradle/build/ produces an exception with Gradle 2.13. Downgrading to Gradle 2.8 fixes the problem.

The rest of the configuration is the same:

Groovy:       2.4.4
Ant:          Apache Ant(TM) version 1.9.6 compiled on June 29 2015
JVM:          1.7.0_75 (Oracle Corporation 24.75-b04)
OS:           Mac OS X 10.11.4 x86_64

Here's the error with 2.13:

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring root project 'dita1'.
> Could not find which method <init>() to invoke from this list:
    private org.gradle.api.internal.classpath.DefaultModuleRegistry#<init>(java.lang.ClassLoader, org.gradle.internal.classpath.ClassPath, org.gradle.internal.installation.GradleInstallation)
    public org.gradle.api.internal.classpath.DefaultModuleRegistry#<init>(org.gradle.internal.classpath.ClassPath, org.gradle.internal.installation.GradleInstallation)
    public org.gradle.api.internal.classpath.DefaultModuleRegistry#<init>(org.gradle.internal.installation.GradleInstallation)

* Try:
Run with --info or --debug option to get more log output.

* Exception is:
org.gradle.api.ProjectConfigurationException: A problem occurred configuring root project 'dita1'.
    at org.gradle.configuration.project.LifecycleProjectEvaluator.addConfigurationFailure(LifecycleProjectEvaluator.java:79)
    at org.gradle.configuration.project.LifecycleProjectEvaluator.notifyAfterEvaluate(LifecycleProjectEvaluator.java:74)
    at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:61)
    at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:529)
    at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:90)
    at org.gradle.execution.TaskPathProjectEvaluator.configureHierarchy(TaskPathProjectEvaluator.java:42)
    at org.gradle.configuration.DefaultBuildConfigurer.configure(DefaultBuildConfigurer.java:35)
    at org.gradle.initialization.DefaultGradleLauncher$2.run(DefaultGradleLauncher.java:125)
    at org.gradle.internal.Factories$1.create(Factories.java:22)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:52)
    at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:122)
    at org.gradle.initialization.DefaultGradleLauncher.access$200(DefaultGradleLauncher.java:32)
    at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:99)
    at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:93)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:62)
    at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:93)
    at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:82)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:94)
    at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28)
    at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:43)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:28)
    at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:81)
    at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:46)
    at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:51)
    at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:28)
    at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:43)
    at org.gradle.internal.Actions$RunnableActionAdapter.execute(Actions.java:173)
    at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:241)
    at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:214)
    at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:35)
    at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:24)
    at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:207)
    at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:169)
    at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33)
    at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)
    at org.gradle.launcher.Main.doAction(Main.java:33)
    at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
    at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:55)
    at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:36)
    at org.gradle.launcher.GradleMain.main(GradleMain.java:23)
Caused by: org.codehaus.groovy.runtime.metaclass.MethodSelectionException: Could not find which method <init>() to invoke from this list:
  private org.gradle.api.internal.classpath.DefaultModuleRegistry#<init>(java.lang.ClassLoader, org.gradle.internal.classpath.ClassPath, org.gradle.internal.installation.GradleInstallation)
  public org.gradle.api.internal.classpath.DefaultModuleRegistry#<init>(org.gradle.internal.classpath.ClassPath, org.gradle.internal.installation.GradleInstallation)
  public org.gradle.api.internal.classpath.DefaultModuleRegistry#<init>(org.gradle.internal.installation.GradleInstallation)
    at com.github.eerohele.DitaOtPlugin.makeAntBuilder(DitaOtPlugin.groovy:46)
    at com.github.eerohele.DitaOtPlugin$makeAntBuilder.callCurrent(Unknown Source)
    at com.github.eerohele.DitaOtPlugin.getAntBuilder(DitaOtPlugin.groovy:63)
    at com.github.eerohele.DitaOtPlugin$_apply_closure3.doCall(DitaOtPlugin.groovy:86)
    at org.gradle.listener.ClosureBackedMethodInvocationDispatch.dispatch(ClosureBackedMethodInvocationDispatch.java:40)
    at org.gradle.listener.ClosureBackedMethodInvocationDispatch.dispatch(ClosureBackedMethodInvocationDispatch.java:25)
    at org.gradle.internal.event.AbstractBroadcastDispatch.dispatch(AbstractBroadcastDispatch.java:44)
    at org.gradle.internal.event.BroadcastDispatch.dispatch(BroadcastDispatch.java:79)
    at org.gradle.internal.event.BroadcastDispatch.dispatch(BroadcastDispatch.java:30)
    at org.gradle.messaging.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)
    at com.sun.proxy.$Proxy11.afterEvaluate(Unknown Source)
    at org.gradle.configuration.project.LifecycleProjectEvaluator.notifyAfterEvaluate(LifecycleProjectEvaluator.java:67)
    ... 41 more

Specify contributor requirements

Are you open to pull requests? If so, if I submit a pull request, do you require a contributor license agreement, a developer certificate of origin (like the DITA-OT), or something else?

Get ditamap and referenced resources

Hi Eero!

My understanding is that, since gradle can detect changes in a ditamap or its resources, the path to these objects must be stored somewhere.

I would like to be able to get the path of the ditamap and all its referenced resources (topic, images, etc.) in order to copy and zip them for archival. The same way I am able to get the path of a result zip of a Zip task with the archivePath property.

Do you think it would be possible?

run plugin installation from gradle

Hi !

I would like to run the -install command from gradle, so far I have doen through the exec method, which is fine, but I wonder if you implemented the method in your plugin.

Thanks again for all your work !

dita task "properties" are relative to the build script called (Multi-Project builds)

Base structure will be the multi build example.

If I place docs.min.css under one/css, and add the following one.properties file under the one directory next to one.ditamap:

args.copycss = yes
args.css = docs.min.css
args.cssroot = css
args.csspath = css

... building the root project with gradle or using gradle :one:dita is not going to copy the CSS file along with the output.

And vice versa โ€“ if I put the CSS file under the css dir at the root project level (not desirable IMHO...), then I cannot run gradle from the one directory and get the CSS copied.

Thanks for your help.

Use dita-ot-minimal gradle package instead of requiring an installed version

I'd love to be able to do something like this:

`repositories {
mavenCentral()
}

plugins {
id 'com.github.eerohele.dita-ot-gradle' version '0.5.0'
}

dependencies {
compile 'com.github.dita-ot:dita-ot-minimal:1.8.2'
}`

rather than have to do a prior install. This works well with the other enhancement about running an install task. For an automated continuous integration system I could then start from a clean VM and run a build with all my extensions.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.