23 std::string mDescription;
24 std::string mVersion =
"1.0.0";
35 std::string mDescription;
42 bool mHasNative =
false;
43 std::string mNativeTarget;
44 std::string mSourceDir =
"Source";
45 std::string mBinaryName;
46 std::string mEntrySymbol =
"PolyphasePlugin_GetDesc";
71 bool CreateTemplate(
const AddonCreateInfo& info,
const std::string& targetDir, std::string& outError);
76 bool CreateAddon(
const AddonCreateInfo& info,
const std::string& targetDir, std::string& outError);
82 bool CreateNativeAddon(
const NativeAddonCreateInfo& info,
const std::string& targetDir,
83 std::string& outError, std::string* outPath =
nullptr);
90 bool InitializeAsTemplate(
const std::string& projectDir, std::string& outError);
95 bool InitializeAsAddon(
const std::string& projectDir, std::string& outError);
100 bool InitializeAsNativeAddon(
const std::string& projectDir, std::string& outError);
107 bool PublishViaGit(
const std::string& addonDir,
const std::string& commitMessage,
108 bool push, std::string& outError, std::string& outLog);
113 bool PublishAsZip(
const std::string& addonDir,
const std::string& outputPath, std::string& outError);
120 bool ReadPackageJson(
const std::string& path, PackageJsonData& outData, std::string& outError);
125 bool WritePackageJson(
const std::string& path,
const PackageJsonData& data, std::string& outError);
130 void OpenInExternalEditor(
const std::string& path);
137 std::string GenerateIdFromName(
const std::string& name);
145 std::vector<UserAddonInfo> GetUserCreatedAddons(
const std::string& projectDir);
150 bool IsGitAvailable();
155 bool HasGitRepo(
const std::string& dir);
160 bool InitGitRepo(
const std::string& dir, std::string& outError);
165 bool HasGitRemote(
const std::string& dir);
Manages native addon lifecycle including discovery, building, loading, and unloading.