如何为 FreeFair AspectJ Gradle 插件设置“-aspectpath”?
How to set "-aspectpath" for the FreeFair AspectJ Gradle Plugin?
我正在尝试使用库中的 AspectJ 注释,我正在将其引入我的项目。我的项目使用 Gradle,所以我尝试使用 FreeFair AspectJ Gradle Plugin.
我需要能够将 AspectJ -aspectpath 参数设置为 Gradle 引入的库依赖项。
FreeFair,好像没有多少Documentation, mainly just Sample Code.
在他们的示例代码中,我看到我可以使用它来将 -aspectpath 设置为本地 "project":
aspect project(":aspectj:aspect")
有谁知道如何将 -aspectpath 设置为外部库依赖项?
我创建了一个示例项目并将其放在 GitHub 上:freefair-aspectpath-external-library。
- 注意:我用的是io.freefair.gradle:aspectj-plugin版本2.9.5 因为我的项目卡在使用 Gradle 版本 4.10.3.
更新: 我为此创建了一个错误:https://github.com/freefair/gradle-plugins/issues/46
aspect
是一个普通的旧 gradle 配置。
这意味着您可以使用此处描述的所有符号:
- https://docs.gradle.org/current/userguide/dependency_types.html#dependency_types
- https://docs.gradle.org/current/userguide/declaring_dependencies.html
dependencies {
aspect project(":my-aspect")
aspect "com.example.foo:bar-aspect:1.0.0"
aspect file("foo.jar")
}
感谢 @larsgrefer, who provided the answer in the GitHub Issue (46).
For the io.freefair.aspectj.compile-time-weaving plugin 2.9.5 the configuration is named "aspects" instead of "aspect".
以下解决了问题:
aspects project(":aspectj:aspect")
完整的构建文件类似于:
buildscript {
repositories {
maven { url "https://plugins.gradle.org/m2/" }
}
dependencies {
// 2.9.5 for use with Gradle 4.10.3.
classpath "io.freefair.gradle:aspectj-plugin:2.9.5"
}
}
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'idea'
apply plugin: "io.freefair.aspectj.compile-time-weaving"
aspectj.version = '1.9.3'
group 'xyz.swatt'
version '1.0.0-SNAPSHOT'
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
dependencies {
///// SWATT ///// https://mvnrepository.com/artifact/xyz.swatt/swatt
compile group: 'xyz.swatt', name: 'swatt', version: '1.12.0'
aspect "xyz.swatt:swatt:1.12.0"
}
我正在尝试使用库中的 AspectJ 注释,我正在将其引入我的项目。我的项目使用 Gradle,所以我尝试使用 FreeFair AspectJ Gradle Plugin.
我需要能够将 AspectJ -aspectpath 参数设置为 Gradle 引入的库依赖项。
FreeFair,好像没有多少Documentation, mainly just Sample Code.
在他们的示例代码中,我看到我可以使用它来将 -aspectpath 设置为本地 "project":
aspect project(":aspectj:aspect")
有谁知道如何将 -aspectpath 设置为外部库依赖项?
我创建了一个示例项目并将其放在 GitHub 上:freefair-aspectpath-external-library。
- 注意:我用的是io.freefair.gradle:aspectj-plugin版本2.9.5 因为我的项目卡在使用 Gradle 版本 4.10.3.
更新: 我为此创建了一个错误:https://github.com/freefair/gradle-plugins/issues/46
aspect
是一个普通的旧 gradle 配置。
这意味着您可以使用此处描述的所有符号:
- https://docs.gradle.org/current/userguide/dependency_types.html#dependency_types
- https://docs.gradle.org/current/userguide/declaring_dependencies.html
dependencies {
aspect project(":my-aspect")
aspect "com.example.foo:bar-aspect:1.0.0"
aspect file("foo.jar")
}
感谢 @larsgrefer, who provided the answer in the GitHub Issue (46).
For the io.freefair.aspectj.compile-time-weaving plugin 2.9.5 the configuration is named "aspects" instead of "aspect".
以下解决了问题:
aspects project(":aspectj:aspect")
完整的构建文件类似于:
buildscript {
repositories {
maven { url "https://plugins.gradle.org/m2/" }
}
dependencies {
// 2.9.5 for use with Gradle 4.10.3.
classpath "io.freefair.gradle:aspectj-plugin:2.9.5"
}
}
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'idea'
apply plugin: "io.freefair.aspectj.compile-time-weaving"
aspectj.version = '1.9.3'
group 'xyz.swatt'
version '1.0.0-SNAPSHOT'
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
dependencies {
///// SWATT ///// https://mvnrepository.com/artifact/xyz.swatt/swatt
compile group: 'xyz.swatt', name: 'swatt', version: '1.12.0'
aspect "xyz.swatt:swatt:1.12.0"
}