I have been given Project Lead on SmartRes, and have updated it for 3.x of WoW. At this point, since it is an Ace3 project, I need to upload it to WoWAce and to CurseForge. Also, I would like to use Subversion, .pkgmeta, or what have you since that seems recommended.
Problem: I have gone through all the KB docs, CurseForge, WoWAce, etc, read them all, and nothing makes sense, as the "do this" stuff isn't actually showing up for me anywhere.
What I have so far is: an addon folder on my computer (should I zip it, or is that done autmatically?) Project Lead status on WoWAce, and accounts on Curse and CurseForge and a lot of questions! ???
A step by step tutorial, that does not assume you have uploaded to Curse.com, and does not assume that a project is a new project, would be greatly appreciated.
Lets assume you intend to use SVN for your source control.
First install TortoiseSVN (I assume you're a windows user, and like pretty menus), which is a SVN shell extension to windows explorer. Once that is done and you've rebooted, make sure you follow these steps carefully:
1. Move your SmartRes out of your WoW's addon folder. Yes. Move it out first. We will replace the copy you have, with the copy of SmartRes that already exists on the wowace server.
2. Now lets say your wow is installed at E:\Games\World of Warcraft, go to E:\Games\World of Warcraft\Interface\AddOns, and right click on the AddOns folder. Choose "SVN Checkout..." in the right click menu.
For checkout directory, you will put
E:\Games\World of Warcraft\Interface\AddOns\SmartRes
Use the default options for the rest and click OK.
4. Tortoise will now connect to the wowace SVN repository, and request you for a password. This password is not the same as your wowace/curse login password. You may first need to go to http://www.wowace.com/home/repository-authorization/edit/
and set up an initial SVN password. Ignore the SSH-public key box unless you intend to use svn+ssh:// protocol as opposed to svn:// where you would be using the other URL instead.
5. If the password is accepted, Tortoise will now proceed to download SmartRes from the wowace server. The copy that is downloaded will be the "state of SmartRes" that is last zipped up and available for download on wowace/curse. This copy is also called your Working Copy, which is a SVN term. You may need to go read the SVN manual's first 2 chapters (google it) to understand SVN concepts.
6. Now go make your changes to this working copy. That is overwrite the files in it with your new changes (which you moved out earlier). File deletion must be done via Windows Explorer's Rightclick--> SVN --> Delete, you can't just delete the file directly without telling SVN about it.
7. When all your changes are done, you can now right click on your SmartRes working copy folder and choose "SVN Commit..." This brings up a dialog box, where you key in the changes you made, and get an overview of files that were changed. You can double click the files in the list to view what changed in those files (these are called SVN diffs). When you're happy, click OK, and tortoise uploads the changes. This is called a commit.
8. When you go back to http://www.wowace.com/projects/smart-res/ you will notice that a new alpha zip has been created. To create beta zips or release zips, you will need to tag your SVN's trunk's head. Right click on the SmartRes folder, and choose "TortoiseSVN --> Branch/tag..."
This brings up a dialog box that says to take the contents of
svn://svn.wowace.com/wow/smart-res/mainline/trunk
and make a copy of it to
svn://svn.wowace.com/wow/smart-res/mainline/tags/tagname
You can name tagname whatever you want, depending on how you name it, the copy will be zipped up as a beta zip or a release zip, refer to http://www.wowace.com/knowledge-base/
and Click "Repository FAQ" and check out the question for "How does the packager know whether a tag is a release or a beta?"
For example, "v1.0" would be a release tag.
The Curse website will only offer Beta and Release zips for download.
You will notice that in the copy that you checkout from the server, it will contain an existing .pkgmeta file. You will need to update the libraries in it to point to the new Ace3 libraries you intend to use, rather than the old Ace2 ones.
When I go to http://www.wowace.com/projects/ace3/
and click the repositories I get
svn://svn.wowace.com/wow/ace3/mainline/trunk
and in the .pkgmeta file (old version) I see listings for each component of Ace2. Does Ace3 only have one link, or should I search each component seperately?
Thank you very much for this help. This is much, much farther than I've gotten in 4 days already.
When I go to http://www.wowace.com/projects/ace3/
and click the repositories I get
svn://svn.wowace.com/wow/ace3/mainline/trunk
and in the .pkgmeta file (old version) I see listings for each component of Ace2. Does Ace3 only have one link, or should I search each component seperately?
Thank you very much for this help. This is much, much farther than I've gotten in 4 days already.
Each component is separate. For example, Omen's .pkgmeta looks like this:
Error: Commit failed (details follow):
Error: 'pre-commit' hook failed with error output:
Error: trunk/SmartRes.lua has a syntax error:
Error: luac: stdin:62: unexpected symbol near 'local'
Finished!:
The offending code line:62 reads
local name = GetSpellInfo("Resurrection") return name
Is there an error in my code, and do I have to fix it before it will commit?
The server tries to compile your Lua file. If it fails, then it will prevent you from committing. The error indicates that you have a syntax error in the file, not necessarily on line 62, but it is first detected on line 62. It can easily be something as easy as a missing comma, a missing "end" keyword, an extra or missing bracket, etc.
Edit: If you can't figure it out, you can either paste your code, or attach/upload it somewhere for review.
This brings up a dialog box that says to take the contents of svn://svn.wowace.com/wow/smart-res/mainline/trunk
and make a copy of it to
svn://svn.wowace.com/wow/smart-res/mainline/tags/beta or release to push
And when I do this, I select the radio button for HEAD revision in the repository correct?
Wow, never mind, I just had no patience. It worked. Thank you for everything, Xinhuan. Much appreciated, and I said as such on the project's curse page. *bows gratefully*
Days later, I noticed that more or less spontaneously, my non-release, alpha, or beta version of the mod was updating to both wowace and to curse. I didn't intend on it sending versions, especially to curse. This may be because I was trying to learn how the repositories work.
So, the questions are: how do I mark my repository so it only uploads alpha builds, or beta/release to curse? I am not planning yet to upload, as the mod isn't ready. Just thinking in advance here.
Actually, if there is a thread that goes into detail about how to use the repositories on wowace, that would be welcome as the help on the repository page itself is a bit confusing. Hence why some poor curse users got a far from ready addon....
Curse will only see beta (B) and release (R) builds. Curse will never see alpha builds (A).
Wowace will see all 3 types of builds. However, a user will not be able to download an alpha build's zip without first logging in to a wowace account.
You can go to your project and change it so that the packager only makes new zips for "alpha, beta and release" or "beta and release only" or "release only". You can also go to a particular zip and edit its properties to change it to any of the A, B or R options.
As for SVN help.. google for "SVN tutorial" or "SVN manual", it doesn't work any differently on wowace compared to any other SVN server.
wow this is alot more difficult then just going to curse and uploading the old way.. why was it changed...? and how come i follow these directions to the T and i get an error about some eol-style?
wow this is alot more difficult then just going to curse and uploading the old way.. why was it changed...? and how come i follow these directions to the T and i get an error about some eol-style?
EOL-style was reimplemented on the servers. For all the text files in your addon, you need to set the property "svn:eol-style" to "native" via using SVN by editing the "SVN properties" of each file.
---------------------------------
If you are lazy, you can automate this by doing SVN -> Settings -> General.
Find the "EDIT" button next to "Subversion configuration file"
Near the bottom of the file, there is a line that says
# enable-auto-props = yes
Remove the # in front so it says
enable-auto-props = yes
Remove the # for each file type in the list in the [auto-props] as well. You will probably want to add
as well. See http://old.wowace.com/wiki/SVN_AutoProps
for more information
------------------------
Note that changing this automated setting only applies for future files, you still need to edit eol-style manually for each of your existing text files.
wow this is alot more difficult then just going to curse and uploading the old way.. why was it changed...? and how come i follow these directions to the T and i get an error about some eol-style?
If you're talking about "uploading the old way", i.e uploading a zip, you want to create an addon project in Curse itself and upload it there.
Wowace/Curseforge is about addon source code tracking using SVN or Git or Mercurial, and has automated features to package the zip files on code changes, and then automated publishing to Curse.
Rollback Post to RevisionRollBack
To post a comment, please login or register a new account.
Problem: I have gone through all the KB docs, CurseForge, WoWAce, etc, read them all, and nothing makes sense, as the "do this" stuff isn't actually showing up for me anywhere.
What I have so far is: an addon folder on my computer (should I zip it, or is that done autmatically?) Project Lead status on WoWAce, and accounts on Curse and CurseForge and a lot of questions! ???
A step by step tutorial, that does not assume you have uploaded to Curse.com, and does not assume that a project is a new project, would be greatly appreciated.
First install TortoiseSVN (I assume you're a windows user, and like pretty menus), which is a SVN shell extension to windows explorer. Once that is done and you've rebooted, make sure you follow these steps carefully:
1. Move your SmartRes out of your WoW's addon folder. Yes. Move it out first. We will replace the copy you have, with the copy of SmartRes that already exists on the wowace server.
2. Now lets say your wow is installed at E:\Games\World of Warcraft, go to E:\Games\World of Warcraft\Interface\AddOns, and right click on the AddOns folder. Choose "SVN Checkout..." in the right click menu.
3. You now see a dialog box.
In the URL of repository box, put in
svn://myrroddin@svn.wowace.com/wow/smart-res/mainline/trunk
This URL is basically copied from the one you see at
http://www.wowace.com/projects/smart-res/repositories/mainline/
For checkout directory, you will put
E:\Games\World of Warcraft\Interface\AddOns\SmartRes
Use the default options for the rest and click OK.
4. Tortoise will now connect to the wowace SVN repository, and request you for a password. This password is not the same as your wowace/curse login password. You may first need to go to
http://www.wowace.com/home/repository-authorization/edit/
and set up an initial SVN password. Ignore the SSH-public key box unless you intend to use svn+ssh:// protocol as opposed to svn:// where you would be using the other URL instead.
5. If the password is accepted, Tortoise will now proceed to download SmartRes from the wowace server. The copy that is downloaded will be the "state of SmartRes" that is last zipped up and available for download on wowace/curse. This copy is also called your Working Copy, which is a SVN term. You may need to go read the SVN manual's first 2 chapters (google it) to understand SVN concepts.
6. Now go make your changes to this working copy. That is overwrite the files in it with your new changes (which you moved out earlier). File deletion must be done via Windows Explorer's Rightclick--> SVN --> Delete, you can't just delete the file directly without telling SVN about it.
7. When all your changes are done, you can now right click on your SmartRes working copy folder and choose "SVN Commit..." This brings up a dialog box, where you key in the changes you made, and get an overview of files that were changed. You can double click the files in the list to view what changed in those files (these are called SVN diffs). When you're happy, click OK, and tortoise uploads the changes. This is called a commit.
8. When you go back to http://www.wowace.com/projects/smart-res/ you will notice that a new alpha zip has been created. To create beta zips or release zips, you will need to tag your SVN's trunk's head. Right click on the SmartRes folder, and choose "TortoiseSVN --> Branch/tag..."
This brings up a dialog box that says to take the contents of
svn://svn.wowace.com/wow/smart-res/mainline/trunk
and make a copy of it to
svn://svn.wowace.com/wow/smart-res/mainline/tags/tagname
You can name tagname whatever you want, depending on how you name it, the copy will be zipped up as a beta zip or a release zip, refer to
http://www.wowace.com/knowledge-base/
and Click "Repository FAQ" and check out the question for "How does the packager know whether a tag is a release or a beta?"
For example, "v1.0" would be a release tag.
The Curse website will only offer Beta and Release zips for download.
You will notice that in the copy that you checkout from the server, it will contain an existing .pkgmeta file. You will need to update the libraries in it to point to the new Ace3 libraries you intend to use, rather than the old Ace2 ones.
http://www.wowace.com/projects/ace3/
and click the repositories I get
svn://svn.wowace.com/wow/ace3/mainline/trunk
and in the .pkgmeta file (old version) I see listings for each component of Ace2. Does Ace3 only have one link, or should I search each component seperately?
Thank you very much for this help. This is much, much farther than I've gotten in 4 days already.
Command: Commit
Modified: D:\Program Files\World of Warcraft\Interface\Addons\SmartRes\.pkgmeta
Deleting: D:\Program Files\World of Warcraft\Interface\Addons\SmartRes\SmartRes-deDE.lua
Deleting: D:\Program Files\World of Warcraft\Interface\Addons\SmartRes\SmartRes-enUS.lua
Deleting: D:\Program Files\World of Warcraft\Interface\Addons\SmartRes\SmartRes-koKR.lua
Deleting: D:\Program Files\World of Warcraft\Interface\Addons\SmartRes\SmartRes-zhCN.lua
Modified: D:\Program Files\World of Warcraft\Interface\Addons\SmartRes\SmartRes.lua
Modified: D:\Program Files\World of Warcraft\Interface\Addons\SmartRes\SmartRes.toc
Modified: D:\Program Files\World of Warcraft\Interface\Addons\SmartRes\SmartResOptions.lua
Sending content: D:\Program Files\World of Warcraft\Interface\Addons\SmartRes\SmartRes.lua
Sending content: D:\Program Files\World of Warcraft\Interface\Addons\SmartRes\SmartRes.toc
Sending content: D:\Program Files\World of Warcraft\Interface\Addons\SmartRes\.pkgmeta
Sending content: D:\Program Files\World of Warcraft\Interface\Addons\SmartRes\SmartResOptions.lua
Error: Commit failed (details follow):
Error: 'pre-commit' hook failed with error output:
Error: trunk/SmartRes.lua has a syntax error:
Error: luac: stdin:62: unexpected symbol near 'local'
Finished!:
The offending code line:62 reads
local name = GetSpellInfo("Resurrection") return name
Is there an error in my code, and do I have to fix it before it will commit?
And in the pkgmeta, I did list each Ace3 component seperately, all linking to the same trunk, as above.
Each component is separate. For example, Omen's .pkgmeta looks like this:
The server tries to compile your Lua file. If it fails, then it will prevent you from committing. The error indicates that you have a syntax error in the file, not necessarily on line 62, but it is first detected on line 62. It can easily be something as easy as a missing comma, a missing "end" keyword, an extra or missing bracket, etc.
Edit: If you can't figure it out, you can either paste your code, or attach/upload it somewhere for review.
Shouldn't it say:
And when I do this, I select the radio button for HEAD revision in the repository correct?
So, the questions are: how do I mark my repository so it only uploads alpha builds, or beta/release to curse? I am not planning yet to upload, as the mod isn't ready. Just thinking in advance here.
Actually, if there is a thread that goes into detail about how to use the repositories on wowace, that would be welcome as the help on the repository page itself is a bit confusing. Hence why some poor curse users got a far from ready addon....
Wowace will see all 3 types of builds. However, a user will not be able to download an alpha build's zip without first logging in to a wowace account.
You can go to your project and change it so that the packager only makes new zips for "alpha, beta and release" or "beta and release only" or "release only". You can also go to a particular zip and edit its properties to change it to any of the A, B or R options.
As for SVN help.. google for "SVN tutorial" or "SVN manual", it doesn't work any differently on wowace compared to any other SVN server.
EOL-style was reimplemented on the servers. For all the text files in your addon, you need to set the property "svn:eol-style" to "native" via using SVN by editing the "SVN properties" of each file.
---------------------------------
If you are lazy, you can automate this by doing SVN -> Settings -> General.
Find the "EDIT" button next to "Subversion configuration file"
Near the bottom of the file, there is a line that says
# enable-auto-props = yes
Remove the # in front so it says
enable-auto-props = yes
Remove the # for each file type in the list in the [auto-props] as well. You will probably want to add
*.toc = svn:eol-style=native
*.lua = svn:eol-style=native
*.xml = svn:eol-style=native
*.pkgmeta = svn:eol-style=native
as well. See
http://old.wowace.com/wiki/SVN_AutoProps
for more information
------------------------
Note that changing this automated setting only applies for future files, you still need to edit eol-style manually for each of your existing text files.
If you're talking about "uploading the old way", i.e uploading a zip, you want to create an addon project in Curse itself and upload it there.
Wowace/Curseforge is about addon source code tracking using SVN or Git or Mercurial, and has automated features to package the zip files on code changes, and then automated publishing to Curse.