0

私のsettings.gradleファイルには、もともとこれが機能していました

include 'server', 'webapp'

これに変更すると壊れます

include 'server', 'webapp'

modifyProjectNames(rootProject, "sdi-")

def modifyProjectNames(project, prefix) {
  project.children.each {
        it.name = prefix + it.name
  }
}

「パス':webapp'のプロジェクトがルートプロジェクト'SDI'に見つかりませんでした」と表示されているので、代わりにファイルをこれに変更します

include 'master', 'sdi-webapp'

modifyProjectNames(rootProject, "sdi-")

def modifyProjectNames(project, prefix) {
  project.children.each {
        it.name = prefix + it.name
  }
}

同じ正確なエラーが発生しますが、settings.gradleに:webappがないため、メインのgradleビルドファイルである必要があるため、そのプロジェクトの名前も:sdi-webappに変更し、エラーをわずかに変更します。

Project with path ':sdi-webapp' could not be found in root project 'SDI'.

私はそのようなプロジェクト構造を持っています

SDI-サーバー-webapp

すべてのプロジェクト名をsdi-serverやsdi-webappなどにしたいのですが、ディレクトリの名前を付けたいのですが

/SDI/server instead of /SDI/sdiserver
/SDI/webapp instead of /SDI/sdiwebapp

すなわち。そこに冗長であることには意味がありません。

編集

私はそのような別のプロジェクトで最初の答えを試しました

include 'master', 'toneserver','webserver'

modifyProjectNames(rootProject, "sdi-")

def modifyProjectNames(project, prefix) {
  project.children.each {
        it.name = prefix + it.name
  }
}

rootProject.children.each {proj ->
  proj.projectDir = file(proj.name - "sdi-")
}

それは単に失敗しました

Project with path ':toneserver' could not be found in root project 'stserver'

build.gradleファイルを調べて、すべての参照を変更して、自分自身を繰り返さないようにするというプログラミング規則に反するプレフィックスを付けると、一種の動作をします:( :(したがって、プレフィックスを変更したい場合は、醜い検索と置換を行う必要があります:(... ick。しかし、それは機能します。

ありがとう、ディーン

4

1 に答える 1

1

回避策として、インクルード呼び出しで好みのプロジェクト名(SDI -...)を使用し、各サブプロジェクトのprojectDirを変更してみてください。

rootproject.children.each{proj->
    proj.projectDir = file(proj.name - "SDI-")
}

乾杯、レネ

于 2012-09-06T22:39:04.230 に答える