diff --git a/commandLine/src/defines.h b/commandLine/src/defines.h index eab0b331..b93b9480 100644 --- a/commandLine/src/defines.h +++ b/commandLine/src/defines.h @@ -1,5 +1,5 @@ #define OFPROJECTGENERATOR_MAJOR_VERSION "0" -#define OFPROJECTGENERATOR_MINOR_VERSION "102" +#define OFPROJECTGENERATOR_MINOR_VERSION "103" #define OFPROJECTGENERATOR_PATCH_VERSION "0" #define PG_VERSION (OFPROJECTGENERATOR_MAJOR_VERSION "." OFPROJECTGENERATOR_MINOR_VERSION "." OFPROJECTGENERATOR_PATCH_VERSION) diff --git a/commandLine/src/projects/android.cpp b/commandLine/src/projects/android.cpp index dd901fb5..7364ff4b 100644 --- a/commandLine/src/projects/android.cpp +++ b/commandLine/src/projects/android.cpp @@ -10,30 +10,40 @@ androidProject::androidProject(const std::string & target) : baseProject(target) bool androidProject::createProjectFile(){ + bOverwrite = false; for (auto & f : vector { "build.gradle", "gradle", - "gradle.properties", - "local.properties", "ofApp/gradle.properties", "ofApp/proguard-rules.pro", "ofApp/src/AndroidManifest.xml", "ofApp/src/ic_launcher-playstore.png", - "ofApp/src/CMakeLists.txt", - "ofApp/src/main/main.txt", - "ofApp/build.gradle", - "src/ofApp.h", - "src/ofApp.cpp", - "src/main.cpp", "proguard.cfg", "settings.gradle", "template.config", + "src/main.cpp", }) { copyTemplateFiles.push_back({ templatePath / f, projectDir / f }); } + for (auto & f : vector { + "src/ofApp.h", + "src/ofApp.cpp", + "ofApp/src/CMakeLists.txt", + "ofApp/src/java/cc/openframeworks/android/OFActivity.java", + "local.properties", + "gradle.properties", + "ofApp/build.gradle", + }) { + if (!fs::exists(projectDir / f)) { + copyTemplateFiles.push_back({ + templatePath / f, + projectDir / f + }); + } + } copyTemplateFiles.push_back({ templatePath / "ofApp" / "build.gradle", projectDir / "ofApp" / "build.gradle", @@ -61,6 +71,8 @@ bool androidProject::createProjectFile(){ ofLogError(LOG_NAME) << "Copy failed: " << e.what(); return false; } + + try { fs::copy(templatePath / "ofApp/src/res", projectDir / "ofApp/src/res", fs::copy_options::recursive); diff --git a/commandLine/src/projects/xcodeProject.cpp b/commandLine/src/projects/xcodeProject.cpp index 7abb2bc3..11823cc7 100644 --- a/commandLine/src/projects/xcodeProject.cpp +++ b/commandLine/src/projects/xcodeProject.cpp @@ -155,21 +155,6 @@ bool xcodeProject::createProjectFile() { if (fs::exists(templateDataDir) && fs::is_directory(templateDataDir)) { baseProject::recursiveCopyContents(templateDataDir, projectDataDir); } - if (fs::exists(templateBinDir) && fs::is_directory(templateBinDir)) { -#ifdef TARGET_OS_MAC - try { - // extended attributes on macOS - std::string command = "xattr -w com.apple.xcode.CreatedByBuildSystem true " + templateBinDir.string(); - if (std::system(command.c_str()) != 0) { - std::cerr << "Failed to set extended attributes on " << templateBinDir.string() << std::endl; - } else { - ofLogVerbose("xcodeProject") << "xattr set correctly for /bin" << endl; - } - } catch (const std::exception & e) { - std::cout << "xcodeProject::createProjectFile() error " << e.what() << std::endl; - } -#endif - } } return true; } diff --git a/frontend/npm-shrinkwrap.json b/frontend/npm-shrinkwrap.json index 8e2f5eef..c7d9b7fc 100644 --- a/frontend/npm-shrinkwrap.json +++ b/frontend/npm-shrinkwrap.json @@ -42,9 +42,9 @@ } }, "node_modules/@electron/asar": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/@electron/asar/-/asar-3.3.1.tgz", - "integrity": "sha512-WtpC/+34p0skWZiarRjLAyqaAX78DofhDxnREy/V5XHfu1XEXbFCSSMcDQ6hNCPJFaPy8/NnUgYuf9uiCkvKPg==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@electron/asar/-/asar-3.4.0.tgz", + "integrity": "sha512-8ZAmXjsQ17wJxdv4755hZ1Xiw85dwETlWYQwl+imww18CaEK4bxPvAotJEfIZGbRMrNEJOTMyuVQD+yDY03N5Q==", "dev": true, "license": "MIT", "dependencies": { @@ -665,9 +665,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "22.13.10", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.10.tgz", - "integrity": "sha512-I6LPUvlRH+O6VRUqYOcMudhaIdUVWfsjnZavnsraHvpBwaEyMN29ry+0UVJhImYL16xsscu0aske3yA+uPOWfw==", + "version": "22.13.17", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.17.tgz", + "integrity": "sha512-nAJuQXoyPj04uLgu+obZcSmsfOenUg6DxPKogeUy6yNCFwWaj5sBF8/G/pNo8EtBJjAfSVgfIlugR/BCOleO+g==", "dev": true, "license": "MIT", "dependencies": { @@ -2255,9 +2255,9 @@ } }, "node_modules/electron": { - "version": "35.0.1", - "resolved": "https://registry.npmjs.org/electron/-/electron-35.0.1.tgz", - "integrity": "sha512-iQonj6lnPhqfqha2KXx6LzV1dnu6UPTCWK+b7f9Zvg828umGemi22DKbcJ3/q+Opn7iUVTWyqp9z1JQqkIi6OA==", + "version": "35.1.2", + "resolved": "https://registry.npmjs.org/electron/-/electron-35.1.2.tgz", + "integrity": "sha512-ipYSDZEV3+PpHfJ8/oWlpMCvxwutX6xLvBz2HRPgEzSFzgLmGO7YXTjEow4DhDtCpGE+b95NTGoJaRAVQi5n7A==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -4341,9 +4341,9 @@ "optional": true }, "node_modules/node-api-version": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/node-api-version/-/node-api-version-0.2.0.tgz", - "integrity": "sha512-fthTTsi8CxaBXMaBAD7ST2uylwvsnYxh2PfaScwpMhos6KlSFajXQPcM4ogNE1q2s3Lbz9GCGqeIHC+C6OZnKg==", + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/node-api-version/-/node-api-version-0.2.1.tgz", + "integrity": "sha512-2xP/IGGMmmSQpI1+O/k72jF/ykvZ89JeuKX3TLJAYPDVLUalrshrLHkeVcCCZqG/eEa635cr8IBYzgnDvM2O8Q==", "dev": true, "license": "MIT", "dependencies": {