Как строить слюни правила с помощью scons вместо ant - PullRequest
0 голосов
/ 28 января 2020

Моя цель

Я бы хотел использовать нашу систему сборки scons для компиляции правил drools. Я хочу избежать муравья, потому что 98% нашего кода - C ++. Я бы предпочел использовать только одну систему сборки

Проблема

Я пытаюсь преобразовать сборку. xml в файл sconscript, и я даже не понимаю, что такое drools / ant сделать ровно

Что я пробовал:

Я добавил цель записи <record name="log.txt" loglevel="verbose" action="start"/> в наш текущий сборочный файл ant. xml в надежде увидеть, какой муравей вызывает для сборки drls.

Следующий build.xml код:

<taskdef name="compiler" classname="org.drools.contrib.DroolsCompilerAntTask">
    <classpath refid="drools.compiler.classpath" />
</taskdef>

<target name="buildRules" description="compile rules">
    <echo message="[${ant.project.name}] Building rules"/>
    <compiler binformat="package" classpathref="model.classpath" srcdir="resources/rules" tofile="${rules_pkg_name}">
        <include name="**/*.drl"/>
    </compiler>
    <copy file="${rules_pkg_name}" todir="${rules_dest_dir}" overwrite="true"/>
</target>

Генерировать только этот вывод:

buildRules:
     [echo] [DroolsFaaModel] Building rules
     [copy] Copying 1 file to C:\SVN\products\faa_mx\vs2017.install2\build\sr\sra\src\rules_engine\data\RulesEngine\faa
     [copy] Copying C:\SVN\products\faa_mx\vs2017.install2\sr\sra\src\rules_engine\model\Rules.pkg to C:\SVN\products\faa_mx\vs2017.install2\build\sr\sra\src\rules_engine\data\RulesEngine\faa\Rules.pkg
buildRules:  duration 2 minutes 42 seconds

Также пробовал

PS C:\SVN\3rdParty\3rdPartyPackages\drools-runtime-5.6.0> C:\svn\3rdParty\devTool\jdk1.7_25.win32\bin\java -cp .\drools-ant-5.6.0.CR1.jar org.drools.contrib.DroolsCompilerAntTask
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/tools/ant/taskdefs/MatchingTask
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access$100(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.apache.tools.ant.taskdefs.MatchingTask
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        ... 13 more

Вопрос:

  1. Что такое баночка слюни или исполняемый файл, которые мне нужно вызвать, чтобы вручную собрать drls? И как?
  2. Или, как я могу напечатать больше информации, какой муравей вызывает именно в пределах цели компилятора из сборки. xml?
...