gradle eclipse で、 TypeScript のプラグインを設定する
eclipse + Gradle で開発しているJava Web アプリに、TypeScriptを導入してみたいと思いまして、まずgradleでTypeScriptプラグインの設定ファイルを吐き出すよう試みました。 以下の2つのファイルを用意します(node.js, TypeScript, eclipeのTypeScriptプラグインが既にインストールされているとします)。
build.gradle
apply plugin: 'java' apply plugin: 'war' apply plugin: 'eclipse-wtp' task wrapper(type: Wrapper) { gradleVersion = '1.12' } eclipse { project { natures 'com.palantir.typescript.typeScriptNature' buildCommand 'com.palantir.typescript.typeScriptBuilder' } copy{ from 'eclipse/com.palantir.typescript.prefs' into '.settings' } }
eclipse/com.palantir.typescript.prefs
build.path.sourceFolder=src/main/typescript compiler.codeGenTarget=ECMASCRIPT3 compiler.compileOnSave=true compiler.generateDeclarationFiles=false compiler.mapSourceFiles=false compiler.moduleGenTarget=UNSPECIFIED compiler.noImplicitAny=true compiler.noLib=false compiler.outputDirOption=src/main/webapp/js compiler.outputFileOption= compiler.removeComments=false eclipse.preferences.version=1 editor.indentSize=4 formatter.insertSpaceAfterCommaDelimiter=true formatter.insertSpaceAfterFunctionKeywordForAnonymousFunctions=false formatter.insertSpaceAfterKeywordsInControlFlowStatements=true formatter.insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis=false formatter.insertSpaceAfterSemicolonInForStatements=true formatter.insertSpaceBeforeAndAfterBinaryOperators=true formatter.placeOpenBraceOnNewLineForControlBlocks=false formatter.placeOpenBraceOnNewLineForFunctions=false spacesForTabs=true tabWidth=4
で、
% ./gradlew eclipse
とか叩けば、TypeScriptを使用するプロジェクトになります。 src/main/typescript 配下に置いた .ts ファイルがコンパイルされて src/main/webapp/js 配下に .js ファイルが生成されるようになります。 あと、gradleからもTypeScriptのコンパイルをキックすべきかとも思うんですが、「IDEで生成されたJSをSCMに突っ込めばいいか」というのは、甘い考えかなー。