← Back to team overview

coapp-developers team mailing list archive

Re: shallow forking feedback

 

Awesome sauce!

On 6/13/2011 8:17 AM, Andreas Schiffler wrote:
I am happy to report that SDL_gfx (which depends on SDL) has also been shallow-forked:
E:\Users\Andreas Schiffler\Desktop\GIT\SDL_gfx>ptk verify
...
Done Building Project "E:\Users\Andreas Schiffler\Desktop\GIT\SDL_gfx\SDL_gfx.sln" (default targets).
Build succeeded.
    0 Warning(s)
    0 Error(s)
Time Elapsed 00:00:12.33
Targets Verified.
Working in E:\Users\Andreas Schiffler\Desktop\GIT\SDL_gfx
Cleaning SDL_gfx folder...
Cleaning Test/Demo folders...
Cleaning VS UI files...
Cleaning VS user settings...
Done.
Project Verified.

Some feedback:
- I don't like the creation of different targets for subgrouping, since it has the potential to create a lot of duplication. For example a build typically always creates ALL files regardless of the target specification and thus needs to be cleaned up. What would be much better is the notion of a "subgroup" label per target and allow multiple targets, with the default being that all are processed ... something like this:
targets: "subgroup_lib" { "foo.lib" }
targets: "subgroup_demos" { "demo1.exe", "demo2.exe" }
- I initially copy-n-pasted bld-cfg="..\path" which failed due to the missing "bld-cfg" target in the dependent project. After rereading the documentation I figured it out (and dropped the bld-cfg part). But this whole definition seems somewhat confusing and I would recommend to change the syntax to something more clear like this: uses: "..\dependent_path"; or uses: "..\dependent_path" {}; as the default
uses: "..\dependent_path" { bld-cfg, };   with one target dependency
uses: "..\dependent_path" { bld-cfg1, bld-cfg2, bld-cfg3, }; with multiple target dependencies

I'd love to tackle also the SDL_Image library at some point but it has multiple dependencies - as per README:
- JPEG support requires the JPEG library: http://www.ijg.org/
- PNG support requires the PNG library: http://www.libpng.org/pub/png/libpng.html and the Zlib library: http://www.gzip.org/zlib/
- TIFF support requires the TIFF library: ftp://ftp.sgi.com/graphics/tiff/
So TIFF and PNG would be needed in coapp - maybe we can add these to the list of wanted libraries.

Thanks,
Andreas


On 6/10/11 10:33 AM, Garrett Serack wrote:
Yes, the |uses||:||bld||-||cfg||=||"..\path"||;| works ... it only automates the build for the other project (so, it doesn't check it out or anything like that... maybe in the future).

An example (if grep actually used zlib) http://j.mp/jSe4n4

zlib would need to be checked out right beside the grep folder.. it's .buildinfo : http://j.mp/mlMU8Z


As for subgrouping... the only thing you could do would be to build another configuration for just the tests or demos...

x86 {
    targets: { "foo.lib" }
 ...
}

x86-with-demos {
    targets: { "foo.lib", "foodemo.exe" }
 ...
}

I was going to say that there isn't any way to specify a dependency between build configurations, but it just occurred to me that you *could* do something like this:

x86 {
    targets: { "foo.lib" }
 ...
}

x86-with-demos {
    uses: x86=".\";

    targets: { "foodemo.exe" }
 ...
}

Actually, that makes me smile...


G



------------------------------------------------------------------------
*From:* Andreas Schiffler [aschiffler@xxxxxxxxxxxx]
*Sent:* Thursday, June 09, 2011 7:18 PM
*To:* Garrett Serack
*Cc:* coapp-developers@xxxxxxxxxxxxxxxxxxx
*Subject:* Re: [Coapp-developers] shallow forking feedback

I'd like to add SDL_gfx to the mix as well ... Does the dependency markup |uses||:| |bld||-||cfg||=||"..\path"| |;| work? Presumably this refers the github path as well as the local installation.

Is there a way to subgroup |targets||:| |{| |.||.||.| |}| |;| for example to keep a library separate from tests and demos.

Thanks,
--Andreas

On 6/8/11 5:56 PM, Garrett Serack wrote:

WHOOHOO.

Andreas, I just wanted to let you know that not only does build nicely, I was able to run the build trace over it, and it worked really really well.

It exposed a couple more bugs in a couple spots, but some pretty-easy fixes for me.

Thanks!

*From:*Andreas Schiffler [mailto:aschiffler@xxxxxxxxxxxx]
*Sent:* Tuesday, June 07, 2011 11:01 PM
*To:* Garrett Serack
*Subject:* Re: [Coapp-developers] shallow forking feedback

Super - the new version works and my shallow-fork of SDL verifies (log attached).

On 6/7/11 12:11 PM, Garrett Serack wrote:

**blink**

Ah... dammit. I found it---I missed one place where I should have quoted and argument.

Ok, try build #1620:

http://coappstorage.blob.core.windows.net/files/coapp-tools-snapshot.zip

G

*From:*Andreas Schiffler [mailto:aschiffler@xxxxxxxxxxxx]
*Sent:* Monday, June 06, 2011 10:46 PM
*To:* Garrett Serack
*Subject:* Re: [Coapp-developers] shallow forking feedback

Didn't fix it ... attached is some environment info and the shell command I've used to open the commandline.

Also my user folder is "C:\Users\Andreas Schiffler" and the Desktop folder is redirected to the other drive.

--Andreas

On 6/6/11 2:11 PM, Garrett Serack wrote:

Hey Andreas,

I've corrected the bug for finding the SDK automatically (I've checked the Registry as well now). As for Git, if it's not installed to %ProgramFiles% then, yeah, adding it to the path is the only option (although, you can do that just once from the console window, and it'll remember it for next time).

I've also made sure that the spaces in the directory name should be ok.

And, it does a change drive in generated batch scripts now too.

As for why it was getting "c:\users\Andreas... " as part of the path, I'm wondering if the %tmp% or %TEMP% environment variables is set to c:\users... instead.

If this version still does that, I suspect that the .NET API for GetTempFileName() has a bug when the user folder has been moved---it **should** have followed that.

Grab the latest snapshot of the tools here: http://coappstorage.blob.core.windows.net/files/coapp-tools-snapshot.zip

G

*From:*coapp-developers-bounces+garretts=microsoft.com@xxxxxxxxxxxxxxxxxxx <mailto:coapp-developers-bounces+garretts=microsoft.com@xxxxxxxxxxxxxxxxxxx> [mailto:coapp-developers-bounces+garretts=microsoft.com@xxxxxxxxxxxxxxxxxxx] *On Behalf Of *Andreas Schiffler
*Sent:* Sunday, June 05, 2011 9:22 PM
*To:* Rafael Rivera
*Cc:* coapp-developers@xxxxxxxxxxxxxxxxxxx <mailto:coapp-developers@xxxxxxxxxxxxxxxxxxx>
*Subject:* Re: [Coapp-developers] shallow forking feedback

I have a system install on a smallish SSD drive as C: but all software is installed to the largish standard HD as E: ... so the search scheme of ptk won't work in that case. It is probably better to also check the registry and find the actual installation path of the tools.

As for C:\Users and E:\Users, the user folders was also initially on C: but I copied its relocatable content over to E: and then relinked these folders using the "Location" tab of their Properties (i.e. see here for this method: http://www.w7forums.com/change-location-my-documents-folder-t338.html). Again the ptk target directory scheme may not take that into account.

As mentioned below, my clean-command section only contains one line:
    attrib -S -H -R *

Thanks,
Andreas

On 6/5/11 8:13 PM, Rafael Rivera wrote:

Also, setting the path isn't necessary. ptk will search for git and other tools in the following directories:

%ProgramFiles(x86)%
%ProgramFiles%
%ProgramW6432%
%SystemRoot%\Microsoft.NET

Why is there an E:\Users and a C:\Users?

/rafael

On 6/5/2011 5:51 PM, Andreas Schiffler wrote:

I tried a shallow-fork SDL this weekend as per http://coapp.org/shallow-forking and have some feedback:

To get ptk going and as VS and TortoiseGit user, I needed to manually add the path to Git\bin as well as the path to Windows SDK\bin to the global %PATH% environment variable. Maybe that could be added to the instructions.

Then I got stuck on step 7. with an error:

E:\Users\Andreas Schiffler\Desktop\GIT\SDL>ptk clean
CoApp Project pTk Version 1.0.2.906 for x64
Copyright (c) Garrett Serack, CoApp Contributors 2010-2011. All rights reserved
CoApp portingToolkit for porting apps
-------------------------------------------------------------------------------
'C:\Users\Andreas' is not recognized as an internal or external command,
operable program or batch file.
Project Cleaned.

My clean-command section only contains
    attrib -S -H -R *
at the moment, so the actual command should not be the cause for this error.

I could do the obvious - move GIT folder to C:\ - but wanted to ask if there a config setting I am missing or if is this a bug?

Thanks,
--Andreas






_______________________________________________
Mailing list:https://launchpad.net/~coapp-developers  <https://launchpad.net/%7Ecoapp-developers>
Post to     :coapp-developers@xxxxxxxxxxxxxxxxxxx  <mailto:coapp-developers@xxxxxxxxxxxxxxxxxxx>
Unsubscribe :https://launchpad.net/~coapp-developers  <https://launchpad.net/%7Ecoapp-developers>
More help   :https://help.launchpad.net/ListHelp
_______________________________________________
Mailing list:https://launchpad.net/~coapp-developers  <https://launchpad.net/%7Ecoapp-developers>
Post to     :coapp-developers@xxxxxxxxxxxxxxxxxxx  <mailto:coapp-developers@xxxxxxxxxxxxxxxxxxx>
Unsubscribe :https://launchpad.net/~coapp-developers  <https://launchpad.net/%7Ecoapp-developers>
More help   :https://help.launchpad.net/ListHelp





_______________________________________________
Mailing list: https://launchpad.net/~coapp-developers
Post to     : coapp-developers@xxxxxxxxxxxxxxxxxxx
Unsubscribe : https://launchpad.net/~coapp-developers
More help   : https://help.launchpad.net/ListHelp

References