mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2026-05-29 07:45:55 +08:00
GP-0: GitHub dependency graph
This commit is contained in:
@@ -0,0 +1,30 @@
|
|||||||
|
name: Dependency Submission
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [ master ]
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
dependency-submission:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
|
- name: Setup JDK
|
||||||
|
uses: actions/setup-java@v5
|
||||||
|
with:
|
||||||
|
distribution: 'temurin'
|
||||||
|
java-version: '21'
|
||||||
|
|
||||||
|
- name: Fetch Dependencies
|
||||||
|
run: ./gradlew -I gradle/support/fetchDependencies.gradle -DhideDownloadProgress -DnoEclipse
|
||||||
|
|
||||||
|
- name: Generate and submit dependency graph
|
||||||
|
uses: gradle/actions/dependency-submission@v6
|
||||||
|
with:
|
||||||
|
gradle-version: '9.4.0'
|
||||||
@@ -52,6 +52,7 @@ ext.FID_DIR = file("${DEPS_DIR}/fidb")
|
|||||||
ext.FLAT_REPO_DIR = file("${DEPS_DIR}/flatRepo")
|
ext.FLAT_REPO_DIR = file("${DEPS_DIR}/flatRepo")
|
||||||
ext.OFFLINE = System.properties["offline"] != null
|
ext.OFFLINE = System.properties["offline"] != null
|
||||||
ext.HIDE_DOWNLOAD_PROGRESS = System.properties["hideDownloadProgress"] != null
|
ext.HIDE_DOWNLOAD_PROGRESS = System.properties["hideDownloadProgress"] != null
|
||||||
|
ext.NO_ECLIPSE = System.properties["noEclipse"] != null
|
||||||
ext.createdDirs = [] as Set
|
ext.createdDirs = [] as Set
|
||||||
|
|
||||||
file("${REPO_DIR}/Ghidra/application.properties").withReader { reader ->
|
file("${REPO_DIR}/Ghidra/application.properties").withReader { reader ->
|
||||||
@@ -105,13 +106,15 @@ ext.deps = [
|
|||||||
name: "PyDev 9.3.0.zip",
|
name: "PyDev 9.3.0.zip",
|
||||||
url: "https://sourceforge.net/projects/pydev/files/pydev/PyDev%209.3.0/PyDev%209.3.0.zip",
|
url: "https://sourceforge.net/projects/pydev/files/pydev/PyDev%209.3.0/PyDev%209.3.0.zip",
|
||||||
sha256: "45398edf2adb56078a80bc88a919941578f0c0b363efbdd011bfd158a99b112e",
|
sha256: "45398edf2adb56078a80bc88a919941578f0c0b363efbdd011bfd158a99b112e",
|
||||||
destination: file("${DEPS_DIR}/GhidraDev")
|
destination: file("${DEPS_DIR}/GhidraDev"),
|
||||||
|
eclipse: true
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
name: "cdt-8.6.0.zip",
|
name: "cdt-8.6.0.zip",
|
||||||
url: "https://archive.eclipse.org/tools/cdt/releases/8.6/cdt-8.6.0.zip",
|
url: "https://archive.eclipse.org/tools/cdt/releases/8.6/cdt-8.6.0.zip",
|
||||||
sha256: "81b7d19d57c4a3009f4761699a72e8d642b5e1d9251d2bb98df438b1e28f8ba9",
|
sha256: "81b7d19d57c4a3009f4761699a72e8d642b5e1d9251d2bb98df438b1e28f8ba9",
|
||||||
destination: file("${DEPS_DIR}/GhidraDev")
|
destination: file("${DEPS_DIR}/GhidraDev"),
|
||||||
|
eclipse: true
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
name: "vs2012_x64.fidb",
|
name: "vs2012_x64.fidb",
|
||||||
@@ -474,6 +477,9 @@ ext.deps = [
|
|||||||
// Download dependencies (if necessary) and verify their hashes
|
// Download dependencies (if necessary) and verify their hashes
|
||||||
mkdirs(DOWNLOADS_DIR)
|
mkdirs(DOWNLOADS_DIR)
|
||||||
deps.each {
|
deps.each {
|
||||||
|
if (NO_ECLIPSE && it.eclipse) {
|
||||||
|
return
|
||||||
|
}
|
||||||
File file = new File(DOWNLOADS_DIR, it.name)
|
File file = new File(DOWNLOADS_DIR, it.name)
|
||||||
if (OFFLINE || !it.sha256.equals(generateHash(file))) {
|
if (OFFLINE || !it.sha256.equals(generateHash(file))) {
|
||||||
download(it.url, file)
|
download(it.url, file)
|
||||||
@@ -486,6 +492,9 @@ deps.each {
|
|||||||
// Copies the downloaded dependencies to their required destination.
|
// Copies the downloaded dependencies to their required destination.
|
||||||
// Some downloads require pre-processing before their relevant pieces can be copied.
|
// Some downloads require pre-processing before their relevant pieces can be copied.
|
||||||
deps.each {
|
deps.each {
|
||||||
|
if (NO_ECLIPSE && it.eclipse) {
|
||||||
|
return
|
||||||
|
}
|
||||||
def copier = { File fp ->
|
def copier = { File fp ->
|
||||||
if (!OFFLINE) {
|
if (!OFFLINE) {
|
||||||
println "Copying " + it.name + " to " + fp
|
println "Copying " + it.name + " to " + fp
|
||||||
|
|||||||
Reference in New Issue
Block a user