Thread Tools Display Modes
01-18-17, 01:59 PM   #1
bsmorgan
A Cobalt Mageweaver
AddOn Author - Click to view addons
Join Date: Mar 2005
Posts: 219
Curse (Curseforge and Wowace) Packaging, svn + git

I have recently been added to the Enchant Check project at WowAce as the original author is no longer playing WoW. The repository is SVN but one of the libraries it uses (LibItemUpdateInfo-1.0) is a GIT repository.

The new format for .pkgmeta (and svn:externals) uses HTTPS:// for everything instead of SVN:// and GIT:// and I don't know how to include the GIT repository as an external to the SVN project.

Can anyone here help or point me to an SVN project that uses GIT externals that I can study?

BTW, I've temporarily solved the problem by "git clone"ing the LibItemUpdateInfo-1.0 project into my working SVN copy and then manually adding the files needed into the SVN repository.
  Reply With Quote
01-18-17, 06:05 PM   #2
endx7
An Aku'mai Servant
 
endx7's Avatar
AddOn Author - Click to view addons
Join Date: Aug 2005
Posts: 38
svn:externals only allows for referencing subversion paths. It does not support referencing git or mercurial repositories.

I don't know anything about curseforge's new packager only supporting https:// in .pkgmeta (if true, that'd be a silly change from them), but more likely your issue is that the paths to all of their repositories changed, so if you are trying to use .pkgmeta check what the project's repository url is now.

Last edited by endx7 : 01-18-17 at 06:12 PM.
  Reply With Quote
01-19-17, 07:04 AM   #3
myrroddin
A Pyroguard Emberseer
 
myrroddin's Avatar
AddOn Author - Click to view addons
Join Date: Oct 2008
Posts: 1,237
Originally Posted by endx7 View Post
svn:externals only allows for referencing subversion paths. It does not support referencing git or mercurial repositories.
The new packager uses the exact same process to bundle libs as the old system; only the URLs are different.

To update the URLs, you will need to look up the library on either Curseforge or Wowace, then click the Source button, and there is the new link.

For your externals, list them as you have always done. And remember, if you use a Libs folder (a good idea), preface the section accordingly.
Code:
Libs/LibWhoo-1.0: url.com/url/etc
Code:
externals:
    LibUpgradeInfo-1.0: https://repos.wowace.com/wow/libitemupgradeinfo-1-0
    LibSomeLib-1.0: https://repos.curseforge.com/wow/libsomelib-1.0
    LibBlah-2.0: https://repos.wowace.com/wow/libblah-2.0

Last edited by myrroddin : 01-19-17 at 07:06 AM. Reason: Clarification
  Reply With Quote
01-19-17, 07:59 AM   #4
bsmorgan
A Cobalt Mageweaver
AddOn Author - Click to view addons
Join Date: Mar 2005
Posts: 219
Originally Posted by myrroddin View Post
The new packager uses the exact same process to bundle libs as the old system; only the URLs are different.
That's exactly what I did. I put the line:
Code:
https://repos.wowace.com/wow/libitemupgradeinfo-1-0 Libs/LibItemUpgradeInfo-1.0
in svn:externals and SVN update complained so I took it out.

I put the line:

Code:
Libs/LibItemUpgradeInfo-1.0: https://repos.wowace.com/wow/libitemupgradeinfo-1-0
in the externals: section of .pkgmeta and the packager barfed. There are no details provided for the error by the packager (fine design, IMO ), so I don't know exactly why it decided to reject it. If you are correct, myrroddin, then I think this points to a bug on Curse's part.
  Reply With Quote
01-19-17, 09:15 AM   #5
myrroddin
A Pyroguard Emberseer
 
myrroddin's Avatar
AddOn Author - Click to view addons
Join Date: Oct 2008
Posts: 1,237
There is no such thing as SVN:externals, and there never has been. There is only externals, exactly as I have written above. The externals supports SVN, Hg, and Git, but you never specify, because it does not matter, and never has mattered.
  Reply With Quote
01-19-17, 09:18 AM   #6
myrroddin
A Pyroguard Emberseer
 
myrroddin's Avatar
AddOn Author - Click to view addons
Join Date: Oct 2008
Posts: 1,237
For reference, I am posting my .pkgmeta (or pkgmeta.yaml if you use the file name like that) for SmartRes2. As you can see, there is both CF/WA urls and a Github url.
Code:
package-as: SmartRes2

externals:
    Libs/LibStub: https://repos.wowace.com/wow/libstub/trunk
    Libs/CallbackHandler-1.0: https://repos.wowace.com/wow/callbackhandler/trunk/CallbackHandler-1.0
    Libs/AceAddon-3.0: https://repos.wowace.com/wow/ace3/trunk/AceAddon-3.0
    Libs/AceConfig-3.0: https://repos.wowace.com/wow/ace3/trunk/AceConfig-3.0
    Libs/AceConsole-3.0: https://repos.wowace.com/wow/ace3/trunk/AceConsole-3.0
    Libs/AceDB-3.0: https://repos.wowace.com/wow/ace3/trunk/AceDB-3.0
    Libs/AceDBOptions-3.0: https://repos.wowace.com/wow/ace3/trunk/AceDBOptions-3.0
    Libs/AceEvent-3.0: https://repos.wowace.com/wow/ace3/trunk/AceEvent-3.0
    Libs/AceGUI-3.0: https://repos.wowace.com/wow/ace3/trunk/AceGUI-3.0
    Libs/AceLocale-3.0: https://repos.wowace.com/wow/ace3/trunk/AceLocale-3.0
    Libs/LibDBIcon-1.0: https://repos.wowace.com/wow/libdbicon-1-0/trunk
    Libs/LibDataBroker-1.1: https://repos.wowace.com/wow/libdatabroker-1-1
    Libs/LibDualSpec-1.0: https://repos.wowace.com/wow/libdualspec-1-0    
    Libs/LibResInfo-1.0: https://github.com/phanx-wow/LibResInfo

ignore:
    - Libs/LibStub/tests

tools-used:
    - findglobals
  Reply With Quote
01-19-17, 09:27 AM   #7
myrroddin
A Pyroguard Emberseer
 
myrroddin's Avatar
AddOn Author - Click to view addons
Join Date: Oct 2008
Posts: 1,237
Also, this is tripping you up, but it trips up a lot of people. There is some discussion to clean up the Source as printed on web pages. The emphasized and coloured part is a misprint, as it were.
The correct URL stops at https://repos.wowace.com/wow/libitemupgradeinfo-1-0 and everything including and after the space is error-causing garbage.

Last edited by myrroddin : 01-19-17 at 09:28 AM. Reason: added colour
  Reply With Quote
01-20-17, 10:25 AM   #8
bsmorgan
A Cobalt Mageweaver
AddOn Author - Click to view addons
Join Date: Mar 2005
Posts: 219
Originally Posted by myrroddin View Post
There is no such thing as SVN:externals, and there never has been. There is only externals, exactly as I have written above. The externals supports SVN, Hg, and Git, but you never specify, because it does not matter, and never has mattered.
By "svn:externals" I was referring to the SVN property by that name. I believe you are referring to the .pkgmeta file which contains instructions to the packager and is just another file as far as SVN is concerned.

Thanks for your help! I now have the Curse packager working properly for this project.

Last edited by bsmorgan : 01-20-17 at 10:27 AM.
  Reply With Quote
01-20-17, 03:21 PM   #9
myrroddin
A Pyroguard Emberseer
 
myrroddin's Avatar
AddOn Author - Click to view addons
Join Date: Oct 2008
Posts: 1,237
Originally Posted by bsmorgan View Post
Thanks for your help! I now have the Curse packager working properly for this project.
You are welcome, and glad you have it all working. I'll check out Enchant Check and see what it is all about!
  Reply With Quote

WoWInterface » Developer Discussions » General Authoring Discussion » Curse (Curseforge and Wowace) Packaging, svn + git

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off