1

I used Aspectj in android library. I want to generate javadoc of it. So i write task like this: build.gradle

task javadoc(type: Javadoc) {
    source = android.sourceSets.main.java.srcDirs
    classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
}
task javadocJar(type: Jar, dependsOn: javadoc) {
    classifier = 'javadoc'
    from javadoc.destinationDir
}

when i run this task, i get error:

/Users/**/MyAspect.java:6: error: package org.aspectj.lang not exist
import org.aspectj.lang.ProceedingJoinPoint;
                        ^
/Users/**/MyAspect.java:7: error: package org.aspectj.lang.annotation not exist
import org.aspectj.lang.annotation.Around;

...

javadoc: warning - can not find class Aspect。
javadoc: warning - can not find class Pointcut。
javadoc: warning - can not find class Aspect。

anyone knows how to generate Javadoc of library based on Aspectj? If you can help me, i will be appreciate for it. Thank you very much, guys.

ucsunup
  • 11
  • 4
  • How about putting `aspectjrt-xx.yy.zz.jar` on the classpath? – kriegaex Mar 27 '18 at 00:45
  • @kriegaex, thank you, i will try it. Later put result here – ucsunup Mar 31 '18 at 09:57
  • @kriegaex, i have comile with ```implementation 'org.aspectj:aspectjrt:1.8.13'```. So, this can not fix this problem. – ucsunup Mar 31 '18 at 10:17
  • I don't generate JavaDoc very often and never use Gradle, always Maven. But maybe you can print the classpath on the console in the javadoc task and see if the AspectJ runtime is really there for the Javadoc generator. Somehow it is not found, obviously. As you did not provide a full [MCVE](http://stackoverflow.com/help/mcve) I can only speculate. So you could help others help you by editing your question and providing an MCVE. – kriegaex Mar 31 '18 at 10:25
  • @kriegaex, thank you very much.I am appreciate for your advice. – ucsunup Mar 31 '18 at 15:29

1 Answers1

0

Thank you all guys. I have fixed my problem. I add task like this to set Javadoc task's classpath:

afterEvaluate {
    javadoc.classpath += files(android.libraryVariants.collect { variant -> variant.javaCompile.classpath.files
    })
} 

I got answer from here

ucsunup
  • 11
  • 4