Merge remote-tracking branch

'origin/GP-993_ghidravore_gradle_warnings--SQUASHED' into Ghidra_10.0
(Closes #3039)
This commit is contained in:
ghidravore 2021-06-01 14:12:38 -04:00
commit 3f6611e54a
15 changed files with 75 additions and 20 deletions

View file

@ -94,3 +94,5 @@ sourceSets {
}
}
}
zipSourceSubproject.dependsOn generateProto

View file

@ -18,10 +18,15 @@ apply from: "$rootProject.projectDir/gradle/javaProject.gradle"
apply from: "$rootProject.projectDir/gradle/helpProject.gradle"
apply from: "$rootProject.projectDir/gradle/jacocoProject.gradle"
apply from: "$rootProject.projectDir/gradle/javaTestProject.gradle"
apply from: "$rootProject.projectDir/gradle/javadoc.gradle"
apply plugin: 'eclipse'
eclipse.project.name = 'Features Base'
rootProject.createJavadocs.exclude '**/ghidra/app/plugin/core/**'
rootProject.createJsondocs.exclude '**/ghidra/app/plugin/core/**'
/*
This build file is a bit different than most project build files, as it initializes
tools needed for the system to compile some of the code. Also, this module has
@ -174,3 +179,7 @@ rootProject.prepDev.dependsOn buildJavacc
// 'indexHelp' is defined in the buildHelp.gradle 'script plugin'
indexHelp.dependsOn generateExtraHelpFiles
zipSourceSubproject.dependsOn buildCPPParser
zipSourceSubproject.dependsOn buildCParser

View file

@ -19,6 +19,8 @@ apply from: "$rootProject.projectDir/gradle/javaTestProject.gradle"
apply from: "$rootProject.projectDir/gradle/nativeProject.gradle"
apply from: "$rootProject.projectDir/gradle/helpProject.gradle"
apply from: "$rootProject.projectDir/gradle/distributableGhidraModule.gradle"
apply from: "$rootProject.projectDir/gradle/javadoc.gradle"
apply plugin: 'eclipse'
eclipse.project.name = 'Features Decompiler'

View file

@ -18,6 +18,7 @@ apply from: "$rootProject.projectDir/gradle/javaProject.gradle"
apply from: "$rootProject.projectDir/gradle/helpProject.gradle"
apply from: "$rootProject.projectDir/gradle/jacocoProject.gradle"
apply from: "$rootProject.projectDir/gradle/javaTestProject.gradle"
apply from: "$rootProject.projectDir/gradle/javadoc.gradle"
apply plugin: 'eclipse'
eclipse.project.name = 'Features Python'

View file

@ -17,6 +17,7 @@ apply from: "$rootProject.projectDir/gradle/distributableGhidraModule.gradle"
apply from: "$rootProject.projectDir/gradle/javaProject.gradle"
apply from: "$rootProject.projectDir/gradle/jacocoProject.gradle"
apply from: "$rootProject.projectDir/gradle/javaTestProject.gradle"
apply from: "$rootProject.projectDir/gradle/javadoc.gradle"
apply plugin: 'eclipse'
eclipse.project.name = 'Framework DB'

View file

@ -17,6 +17,7 @@ apply from: "$rootProject.projectDir/gradle/distributableGhidraModule.gradle"
apply from: "$rootProject.projectDir/gradle/javaProject.gradle"
apply from: "$rootProject.projectDir/gradle/jacocoProject.gradle"
apply from: "$rootProject.projectDir/gradle/javaTestProject.gradle"
apply from: "$rootProject.projectDir/gradle/javadoc.gradle"
apply plugin: 'eclipse'
eclipse.project.name = 'Framework Docking'

View file

@ -17,6 +17,7 @@ apply from: "$rootProject.projectDir/gradle/distributableGhidraModule.gradle"
apply from: "$rootProject.projectDir/gradle/javaProject.gradle"
apply from: "$rootProject.projectDir/gradle/jacocoProject.gradle"
apply from: "$rootProject.projectDir/gradle/javaTestProject.gradle"
apply from: "$rootProject.projectDir/gradle/javadoc.gradle"
apply plugin: 'eclipse'
eclipse.project.name = 'Framework FileSystem'

View file

@ -19,6 +19,7 @@ apply from: "$rootProject.projectDir/gradle/distributableGhidraModule.gradle"
apply from: "$rootProject.projectDir/gradle/javaProject.gradle"
apply from: "$rootProject.projectDir/gradle/jacocoProject.gradle"
apply from: "$rootProject.projectDir/gradle/javaTestProject.gradle"
apply from: "$rootProject.projectDir/gradle/javadoc.gradle"
apply plugin: 'eclipse'
eclipse.project.name = 'Framework Generic'
@ -45,3 +46,4 @@ ext.addExports([
'java.base/sun.security.util=ALL-UNNAMED',
'java.desktop/sun.awt=ALL-UNNAMED'
])

View file

@ -17,6 +17,7 @@ apply from: "$rootProject.projectDir/gradle/distributableGhidraModule.gradle"
apply from: "$rootProject.projectDir/gradle/javaProject.gradle"
apply from: "$rootProject.projectDir/gradle/jacocoProject.gradle"
apply from: "$rootProject.projectDir/gradle/javaTestProject.gradle"
apply from: "$rootProject.projectDir/gradle/javadoc.gradle"
apply plugin: 'eclipse'
eclipse.project.name = 'Framework Graph'

View file

@ -17,6 +17,7 @@ apply from: "$rootProject.projectDir/gradle/distributableGhidraModule.gradle"
apply from: "$rootProject.projectDir/gradle/javaProject.gradle"
apply from: "$rootProject.projectDir/gradle/jacocoProject.gradle"
apply from: "$rootProject.projectDir/gradle/javaTestProject.gradle"
apply from: "$rootProject.projectDir/gradle/javadoc.gradle"
apply plugin: 'eclipse'
eclipse.project.name = 'Framework Help'

View file

@ -17,6 +17,7 @@ apply from: "$rootProject.projectDir/gradle/distributableGhidraModule.gradle"
apply from: "$rootProject.projectDir/gradle/javaProject.gradle"
apply from: "$rootProject.projectDir/gradle/jacocoProject.gradle"
apply from: "$rootProject.projectDir/gradle/javaTestProject.gradle"
apply from: "$rootProject.projectDir/gradle/javadoc.gradle"
apply plugin: 'eclipse'
eclipse.project.name = 'Framework Project'

View file

@ -17,12 +17,16 @@ apply from: "$rootProject.projectDir/gradle/distributableGhidraModule.gradle"
apply from: "$rootProject.projectDir/gradle/javaProject.gradle"
apply from: "$rootProject.projectDir/gradle/jacocoProject.gradle"
apply from: "$rootProject.projectDir/gradle/javaTestProject.gradle"
apply from: "$rootProject.projectDir/gradle/javadoc.gradle"
apply plugin: 'eclipse'
eclipse.project.name = 'Framework SoftwareModeling'
apply plugin: 'antlr'
rootProject.createJavadocs.exclude '**/pcodeCPort/**'
rootProject.createJsondocs.exclude '**/pcodeCPort/**'
// make sure antlr code gets built during prepdev so that the directories are created and
// eclipse doesn't complain about missing src directories.
rootProject.prepDev.dependsOn compileJava
@ -103,3 +107,5 @@ generateGrammarSource {
}
}
}
// must generate grammar before zipping if we want to include it in the source zip
zipSourceSubproject.dependsOn generateGrammarSource

View file

@ -17,6 +17,7 @@ apply from: "$rootProject.projectDir/gradle/distributableGhidraModule.gradle"
apply from: "$rootProject.projectDir/gradle/javaProject.gradle"
apply from: "$rootProject.projectDir/gradle/jacocoProject.gradle"
apply from: "$rootProject.projectDir/gradle/javaTestProject.gradle"
apply from: "$rootProject.projectDir/gradle/javadoc.gradle"
apply plugin: 'eclipse'
eclipse.project.name = 'Framework Utility'

30
gradle/javadoc.gradle Normal file
View file

@ -0,0 +1,30 @@
/* ###
* IP: GHIDRA
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/*****************************************************************************************
This file is a "mix-in" gradle script that individual gradle projects should include if they
have java code and want javadocs generated for that project
A gradle project can add javadoc support by including the following to its build.gradle file:
apply from: "$rootProject.projectDir/gradle/javadoc.gradle"
*****************************************************************************************/
rootProject.createJavadocs {
source sourceSets.main.allJava
}
rootProject.createJsondocs {
source sourceSets.main.allJava
}

View file

@ -46,17 +46,6 @@ if (extensionsList.isFile()) {
}
}
FileTree javadocFiles = fileTree (rootProject.projectDir.toString()) {
include '**/Framework/**/*.java'
include '**/Features/Base/src/main/java/**/*.java'
exclude '**/Features/Base/src/main/java/ghidra/app/plugin/**/*.java';
include '**/Features/Decompiler/src/main/java/ghidra/app/decompiler/**/*.java'
include '**/Features/Python/**/*.java'
exclude '**/GhidraBuild/**/*.java';
exclude '**/src/test/**'
exclude '**/src/test.slow/**'
exclude '**/pcodeCPort/**' // not intended for general consumption
}
ext.ghidraPath = files()
/********************************************************************************
@ -122,12 +111,14 @@ task createJavadocs(type: Javadoc, description: 'Generate javadocs for all proje
destinationDir file(rootProject.projectDir.toString() + "/build/tmp/javadoc")
failOnError false
// the "source" property must be set in individual project's build.gradle files.
// projects that want to be included in the Jsondocs should add the following to
// their build.gradle file:
//
// apply from: "$rootProject.projectDir/gradle/javadoc.gradle"
//
// Here for reference. If we want to turn on javadoc for all source files, uncomment
// the following line (and comment out the next one):
// source subprojects.collect { it.sourceSets.main.allJava }
source javadocFiles
// Must add classpath for main and test source sets. Javadoc will fail if it cannot
// find referenced classes.
classpath = rootProject.ext.ghidraPath
@ -170,6 +161,7 @@ configurations {
dependencies {
jsondoc project('JsonDoclet')
}
task createJsondocs(type: Javadoc, description: 'Generate JSON docs for all projects', group: 'Documentation') {
@ -181,15 +173,19 @@ task createJsondocs(type: Javadoc, description: 'Generate JSON docs for all proj
failOnError false
// Here for reference. If we want to turn on javadoc for all source files, uncomment
// the following line (and comment out the next one):
// source subprojects.collect { it.sourceSets.main.allJava }
source javadocFiles
// Must add classpath for main and test source sets. Javadoc will fail if it cannot
// find referenced classes.
classpath = rootProject.ext.ghidraPath
// the "source" property must be set in individual project's build.gradle files.
// projects that want to be included in the Jsondocs should add the following to
// their build.gradle file:
//
// apply from: "$rootProject.projectDir/gradle/javadoc.gradle"
//
// Generate at package level because user may try to get help directly on an object they have
// rather than its public interface.
options.addBooleanOption("package", true)