、このような何か:あなたが依存する(呼び出すときgen'dファイルパスを心配する必要はいけないので、ここで
o = env.Java(target = 'target_dir', source = Dir('source_dir'))
env.Depends(o, 'the_generated_file_and_path')
)は(より良いオプションです)、あなたが実行していると仮定するとSConsはコマンド()関数を使用してJavaクラス言った:
# $SOURCE and $TARGET will be filled in by SCons Command, $SOURCE is optional
cmdLine = 'theCommand $SOURCE $TARGET'
genTarget = env.Command(target = [list output files here],
source = 'java_class_executed',
action = cmdLine)
...
o = env.Java(...)
env.Depends(o, genTarget)
空のリストであることo
については、それは常に空のリストですか?その場合は、ソースをどのように指定するか注意してください。ソースはパッケージのdir構造のルートにする必要があります。次のように、ソースディレクトリを指定する必要があります
.
|-- SConstruct
`-- src
`-- com
`-- tanner
`-- application
`-- main.java
:たとえば、あなたのディレクトリツリーはこのようなものであれば'#/src/com'
はどのようにJavaクラスを実行していますか? Command()関数を使用していますか?もしそうなら、私の答えに追加するもう一つのステップがあります。 – Brady
私は別のステップとしてそれをやっていますし、それをCommand()関数でソースとして使用しています。 –