By default, when a queued build is running, MSBuild calls the CoreLabel task to label the source files that were included in the build - how do I control where this label is created?
Basically, I would like the label to be created at the root of the Team Project (i.e. folder "Client" below), however it appears that the label is created at the root of the working folder for the workspaces (i.e. Project 1\Development\Sources):
$ <-- Project Collection
+- Client <-- Team Project
+- Project 1 <-- Project
+- Deployments <-- Assets for a deployment
+- 1.0.0.0
+- 1.1.0.0
+- Development <-- Development Branch
+- Source <-- Dev Build Definition working folder mapped here.
+- Environment <-- Scripts, etc. for deployments.
+- Main <-- Main Branch
+- Source <-- Release Build Definition working folder mapped here.
Within the build definitions, we have specified a "Working folder" in the workspace at the "Source" folder level for either Development or Main depending on the build type.
Looking at the build logs, it looks like the label should be created at the Client level:
Task "Label" (TaskId:42)
Label TeamFoundationServerUrl="http://TFSServer:8080/tfs/DefaultCollection"
BuildUri="vstfs:///Build/Build/4538"
Name="Nightly_20110303.5"
Scope="$/Client"
Recursive=True
Comments="Version-1.0.0.0 Requested-xxx Get-T Branch-Development"
Version="WCATQCDEV-BLD_35_8"
Child="Replace"
Files="$/" (TaskId:42)
Label Nightly_20110303.5#$/Client (version WCATQCDEV-BLD_35_8) was successfully created. (TaskId:42)
However, even though Files is set to $/ the label is still created at the working folder level. According to the documentation, the Files parameter is supposed to specify which files are included in the label, but clearly it's not working quite as we'd like.
I've successfully modified the comment that is created using the BeforeLabel task setting the LabelComment property, however, trying to set the LabelFiles property in the same task to something like $/Client doesn't seem to affect the location the Label is created at, and also seems to end up mangled to %26/Client in the log when it calls the Label method.
Label will be created for the Source Control Folder specified in workspace tab of that particular build type.
If you are specifying "Development" as the Source Control Folder in Build Type, then Label will be created only for the files under "Development" folder.
The label is identified not only by name, but also by so-called "scope", where scope is the actual path within which the label name is unique.
If your label scope is "$/project", that the label name is unique within Project; and when scope is "$/Project/Development", the label name is unique within Development.
Scope="$/Client"
Above entry in your log file doesn't mean that it's creating label for files under $/Client, but it actually means that the label created is unique in $/Client.
The scope also allows users to create multiple labels with same name within the same project. For ex: Two labels with same name called "Test" can be created for different scopes in same project("$/project" and "$/Project/Development").
Related
I was using the basePath property but the result of the build is not what I expected.
This is my profile based on one of the basic examples
dependencies= {
basePath:"../..",
releaseDir: "./TESTING"
};
I’m executing the build with the following command (shows the folder where the batch file is located and the full path to the profile)
C:\Users\me\Downloads\dojo-release-1.10.8-src\util\buildscripts>build.bat --profile "C:\Users\me\Downloads\dojo-release-1.10.8-src\util\buildscripts\profiles\test.profile.js" --release
According to the documentation
https://dojotoolkit.org/reference-guide/1.10/build/buildSystem.html#id1
“If the profile contains the property basePath and the value of that
property is a relative path, then the build system will automatically
resolve that path with respect to the directory in which the profile
resources resides–not the current working directory”
“Relative destination paths are computed with respect to the profile
property releaseDir, optionally with a concatenated path segment given
by profile property releaseName. If releaseDir is relative, then it is
taken to be relative to basePath”
So if I specify the basePath as I did, I would have expected it to place itself relative to the profile location that I specified, so that is
Profile location
C:\Users\me\Downloads\dojo-release-1.10.8-src\util\buildscripts\profiles\test.profile.js
basePath location relative to profile (go back two levels)
C:\Users\me\Downloads\dojo-release-1.10.8-src\util\
So going back two levels means placing myself in the ‘util’ folder
So I would expect the release dir to be written in the util folder as well.
However it is being written to the
buildscripts folder inside util.
On a second test I made the profile like this
dependencies= {
basePath:"../..",
releaseDir: "../TESTING"
};
And my release directory was written to the util folder. Which means the basePath I specified is actually pointing to the buildscripts folder but there is no subfolder deep enough to get to it using …/… if …/… means going back two levels.
So either I misunderstand what …/… means or something else is going on.
Can someone please explain how paths work in the build system when you specify a basePath?
Thanks
To create a New Project i am using WizardNewProjectCreationPage which creates a new project at root level.
Is it possible by any way to change that level.
For example there is already a root level folder in Project Explorer which contain some folders in it.Now i want when i right click on any of these folder and Add say New->Component.
On Component i have coded WizardNewProjectCreationPage,as i need the same functionality which ProjectCreationPage do .
But now i want this project should be added under the folder i right clicked and added component and so not on the root level.
No you can't do this. Eclipse projects can only be in the workspace root.
If you just want to create files and folders you can look at BasicNewFileResourceWizard, BasicNewFolderResourceWizard, WizardNewFileCreationPage and WizardNewFolderMainPage.
I am wondering how to configure the following project layout in IntelliJ:
An Android application
A server back end feeding data to this application
Bean classes that are shared between back end and Android application
Initially, I wanted to create three modules on an equal hierarchy level. However, this does not seem to be possible with IntelliJ. I can only add new modules inside of the first module. I wonder if this is the way I am supposed to do it? Or is there a better way to do configure this project layout with IntelliJ? Do these hierarchies only represent folders?
I feel like I should make (3) a library module and add dependencies to (1) and (2). Since a module is defined as a discrete unit of functionality which you can compile, run, test and debug independently I feel like this is the right approach.
This is my first multi-module project in IntelliJ. Any explanation is appreciated!
When creating a new project you can use the Empty Project option on the first wizard step. When the project is created, add 3 modules in different folders under the Project Structure settings.
If you want to add them on a already initialized project, the trick from #CrazyCoder works, but you must not choose Empty Project, but instead Empty Module (in the Project Structure -> Modules dialog).
Then, choose the existing project.
Lastly, on the right side, the content root might be wrong. Set it to the root of your module.
Make sure the submodules are not on root level on the Project Structure -> Modules page. If they are, remove all expect the root module, delete the content root on the right, and add it again.
I tried to change the name of my xcode project, (which uses the cocos2d framework), but for some reason my main files folder (the one that contains all the .h and .mm files) wouldn't change the name. so then i manually clicked under "MyProj TARGETS -> Build Settings" and manually changed the fields:
Info.plist File
Header Search Paths
User Header Search Paths
Prefix Header
to be using "MyProj/" instead of "PrevName/" (the previous name i had named the project) but now i'm getting these two strange warnings:
Warning: Multiple build commands for output file /Users/me/Library/Developer/Xcode/DerivedData/MyProj-fzlkaghtvjzkgkenbpejhzwvxsft/Build/Products/Debug-iphonesimulator/MyProj.app/CMakeLists.txt
Warning: The Copy Bundle Resources build phase contains this target's Info.plist file 'MyProj/Resources/Info.plist'.
you'll see that this is also mentioned under: http://www.cocos2d-iphone.org/forum/topic/33245 but no one has answered this part
and i tried to look under Xcode warning: "Multiple build commands for output file" to see under "Build Phases -> Copy Bundle Resource"... and indeed, there were 2 CMakeLists.txt files. one is:
MyProj/libs/Box2D
and the other is:
MyProj/libs/kazmath/src
which one do i need? or do i need both, since i think xcode used to be compiling with both??
i should mention that my project seems to be running okay right now if i leave the warnings in. but i don't like warnings that i don't understand, and i know that i could just swap my source/assets to a new project to get rid of the warning, but i'd like to know for future reference how to properly rename everything in a xcode project.
Thanks
Oh wow... I had no idea the traffic on stackoverflow is so low these days...(or at least for xcode & iOS dev) sighs
Anyways, I think I figured out a fix.
I read apple developer guilde for the second Warning
For the first Warning, I looked at another file that I had created, and I compared my project's settings to the other project's settings. (such a simple solution, duh, why didn't I think of this >_<) and it turns out, under Copy Bundle Resources, you're only supposed to have:
Your .png files and other resources used in code (but NOT your plist file, for the very reason given in the link above)
iTunesArtwork
ChangeLog
Actually, i'm not sure if you even need #2 or #3. I'll give an upvote to whoever experiments with it. So.... the solution is to simply remove all those other CMakeLists and cmakes and all that junk, including plist :)
In VS2008, I am adding new classes to a web project.
When I right-click on App-Code -> Add -> New Item -> Class ...
The build action for the newly created item is set to content instead of compile. This seems like it would be a problem with the template. I've found several others through google who have run into this issue, but nobody seemed to have found a more permanent solution, other than "change it from content to compile after creation."
My question: Does anyone know of a fix for this, official or otherwise?
App_Code is a special folder meant for folder based projects.
This is just a hunch, but it might be that you have a project file based project, instead of a simple folder based one.