qooxdoo : how to change project name? - qooxdoo

How to change qooxdoo project name, e.g. from "projectNameA" to "projectNameB"?
In generate.py, following commands are available.
>>> Available jobs:
- api -- create api doc for the current library
- api-data -- create api doc json data files
- build -- create build version of current application
- clean -- remove local cache and generated .js files (source/build)
- distclean -- remove the cache and all generated artefacts of this library
(source, build, ...)
- fix -- normalize whitespace in .js files of the current library (tabs, eol, ...)
- info -- collects environment information like the qooxdoo version etc., and prints it out
- inspector -- create an inspector instance in the current library
- lint -- check the source code of the .js files of the current library
- migration -- migrate the .js files of the current library to the current
qooxdoo version
- pretty -- pretty-formatting of the source code of the current library
- profiling -- includer job, to activate profiling
- simulation-build -- create a runner app for simulated interaction tests
- simulation-run -- launches simulated interaction tests generated with
simulation-build
- source -- create source version of current application
- source-all -- create source version of current application, with all class
es
- source-hybrid -- create a hybrid application (application classes as
individual files, others catenated)
- test -- create a test runner app for unit tests of the current library
- test-source -- create a test runner app for unit tests (source version) of the current library
- translation -- create .po files for current library
but there is no rename project command. Is there a command available to change project name?

I presume with "project name" you mean the application's namespace (the "namespace" entry in its Manifest.json). As Richard already mentioned in his comment there are a couple of steps to perform, see the linked bug. The actions fall in into one of two categories, renaming files and directories, and changing name references in code. Project files to change are the Manifest.json and config.json. Further modifications have to be made to the source tree, particularly beneath source/class and source/resource. Directories under these paths reflect the application namespace and have to be changed, but mind to only change that many subdirectories as the Manifest.json gives as the namespace. After that you have to change source files in the source/class tree, looking for appearances of the old namespace (A global search-and-replace on the *.js files might get you close enough).

To change a project name , e.g. from "projectNameA" to "projectNameB", you only need to find & replace all files in the project folder ( remember to rename all sub-folders ) and issue the command :
Linux / Mac
./generate.py clean
./generate.py source-all
Windows
generate.py clean
generate.py source-all

Related

Ufft example compilation

I want to run the example project which is available for free from this link. It is a simple FFT library and needs no compiler. In it, there is an example c file with its required header files and .c files.
When I try to run it in Vivado SDK I get errors of multiple definitions of fft and ifft. How can I run this example inside SDK?
What I had done is created an empty application project and then imported all these files inside src folder and then selected build the project option but didn't succeed in building and running the project.
I guess, looking at the ufft.zip archive, that you've tried to link files issued form the compilation of fft-dit.c and fft-dif.c.
Both files define ftt functions using differents method (see README).
You have to choose betwen using ftt-dif.c or ftt-dit.c, not both.
This is the same for itt-dif.c and itt-dit.c, choose one, not both.

The component 'LiveCharts.Wpf.DefaultLegend' does not have a resource identified by the URL '/LiveCharts.Wpf;component/defaultlegend.xaml'

I have been programming on a winforms project for about a month days. Recently one of the form designers always show an error page.
When the project is just loaded on VS, there's no error. After I do some modification then rebuild it will show the error page of:
The component 'LiveCharts.Wpf.DefaultLegend' does not have a resource identified by the URL '/LiveCharts.Wpf;component/defaultlegend.xaml'.
and the call stack shows:
at System.Windows.Application.LoadComponent(Object component, Uri resourceLocator)
at LiveCharts.Wpf.DefaultLegend.InitializeComponent() in c:\Users\btord\Documents\Projects\LiveCharts\WpfView\DefaultLegend.xaml:line 1
at LiveCharts.Wpf.Charts.Base.Chart..ctor() in c:\Users\btord\Documents\Projects\LiveCharts\WpfView\Charts\Base\Chart.cs:line 82
at LiveCharts.Wpf.CartesianChart..ctor() in c:\Users\btord\Documents\Projects\LiveCharts\WpfView\CartesianChart.cs:line 40
at LiveCharts.WinForms.CartesianChart..ctor() in c:\Users\btord\Documents\Projects\LiveCharts\WinFormsView\CartesianChart.cs:line 46
at Controls.Chart.MyChart.InitializeComponent()
at Controls.Chart.MyChart..ctor()
I checked the path but found no 'c:\Users\btord' directory and a few days ago I moved my Documents directory to D driver.
Sometimes after I build on release it will show another error page of:
Could not load file or assembly 'LiveCharts.WinForms, Version=0.9.6.0, Culture=neutral, PublicKeyToken=0bc1f845d1ebb8df' or one of its dependencies.
And there's no error in source code of the designer at all, neither when building. The execute file can run healthily.
It seems to commonly happen when multiple copies of live charts dll's are present in a solution build.
For me it was used both in the main executable and a plugin class library building in a sub folder. The effect is two copies of the Live Charts dll's in different folders which it doesn't like.
Packages.config
If using a packages.config file to handle references you can set the LiveCharts references to "CopyLocal"=false for the extra projects. This stops multiple copies of the dll's being included the build. It will happily use the copy loaded in the main project.
Package References
Sadly there isn't an option to not copy the files when using the newer style package references.
Removing extra copies post build seems the easiest workaround I've found.
In Project Properties, Build events page, post build event command line box add
del $(TargetDir)LiveCharts.*
$(TargetDir) is your projects output path.

Re-compile config file for WPF application?

After build my solution (WPF application), the config file is created in project\bin\debug folder. Whenever a change is made to this config file, I have to re-compile/rebuild the project to pull the changes from the config file.
Is there a way to avoid re-compiling the project after making a change in config?
This somehow throws the whole purpose of config file.
If you talk about the App.config file (an XML file where you usually put appSettings, connectionStrings, etc): it is possible to modify this one without to recompile your project / solution. Just navigate to the project\bin\debug folder, there you'll find a file that is called {AssemblyName}.exe.config which you can edit (actually, this is a renamed version of the App.config file, this happens when the build process copies it to the output directory).
If you talk about XAML related files: these are by default not configurable because they get translated to BAML (Binary Application Markup Language) files that are embedded to the assembly in a default WPF project. If you change those you have to recompile.
You do not need to recompile your project. Your assumption is wrong.
if you edit OutputDir\{appname}.exe.config, then it will take effect immediatelly. However, if you rebuild your app, this config file is overwritten by app.config from your project folder

eclipse include custom files (c)

Not sure how to phrase the question.
I've created a few files for my c project that I would like to use for multiple projects.
Project root: ~/workspace/myproject
Files :
~/workspace/myproject/customlib/myfile.h
~/workspace/myproject/customlib/myfile.c
I was able to move them from my eclipse (Code Composer Studio) workspace and replace them with symlinks to their new location.
Custom lib dir: ~/myfiles/customlib
This is working fine but I'd rather not use the symlinks as it becomes necessary to add those symlinks to any project where I want my customlib files. Also when copy/pasting a project in eclipse it doesn't seem to understand the symlink and creates a copy of the file rather than the symlink.
I've set up an include path to ~/myfiles/ but when I compile I get a bunch of unresolved symbol errors.
My custom files depend on files from other include paths as well. (if that might be a hint as to why things are breaking)
Is there another way I can link in these files?
I figured out how I can do what I'm looking for but can't actually post the answer for 8 hours so I'll answer it here.
I was able to add the .c files as "Linked Resources" to my project.
So in the end I had an include path to ~/myfiles and a linked resource ~/myfiles/customlib/myfile.c.
Linked Resources can be found under Project Properties -> Resource -> Linked Resources -> Linked Resources(tab)
Unfortunately, my environment, Code Composer Studio 6 on Ubuntu would not allow me to actually add a linked resource through the IDE.
As a workaround I added the linked resource directly to the .project file.
~/workspace/myproject/.project
Under the section labeled "natures" I added
<linkedResources>
<link>
<name>myfile.c</name>
<type>1</type>
<locationURI>$%7BPARENT-2-PROJECT_LOC%7D/myfiles/customlib/myfile.c</locationURI>
</link>
</linkedResources>
The "$%7BPARENT-2-PROJECT_LOC%7D" refers to ~/workspace/myproject/../../ (a.k.a. ~/). The 2 tells it how many ../'s
In case you don't get the locationURI right the first time you should be able to edit the file path from Project Properties -> Resource -> Linked Resources -> Linked Resources(tab)
You can use any defined build variables for the locationURI. Here is another way to write the location URI. PROJECT_LOC/../../myfiles/customlib/myfile.c
Since this is an eclipse project file it will be overwritten with whatever eclipse decides is the proper format for locationURI
You can place the linked resource into a folder in your project by modifying the tag. projectsubfolder/myfile.c. This will create a folder projectsubfolder under your project directory. ~/workspace/myproject/projectsubfolder
Unfortunately this isn't an optimal solution as I will need to add linkedresource entries for every source file I create in my custom lib. CCS fumbles the linked resources when doing a project copy/paste, requiring you to add the linked resources again to your copied project.
In the end it feels like a solution but it really doesn't have much benefit over symlinked files. The only one being that when I copy/paste a project I will know the project isn't using the correct files when it doesn't compile. (symlinking will make a working project with copies of the files instead of the originals)
I imagine I will need to learn about creating .lib files to make the inclusion a little more pain free.

Setting up an Xcode project with many individual example files

I'm playing around with lots of little C files whilst going through a book. Eg:
defs.h
chapter01
pointers.c
structPointers.c
vectorOps.c
defsTest.c
chapter02
selectionSort.c
recursion.c
bubbleSort.c
etc…
I'm currently using a great little app called CodeRunner, but I do miss the debugging and intellisense features in Xcode.
Is there a way to set it up the project so I can run each file individually from within the one project? I know I could always make a single workspace with a project for every single file, but that seems very cumbersome – there's gotta be a better way.
1)
Yep. Using the command line (you have to install the "Command Line Additions" that you can download from the "Looking for additional developer tools" link on this page building can be as easy as:
gcc -o selectionSort selectionSort.c
(provided you have a "main" function in your .c file).
Or:
2)
To build from within the Xcode IDE, you'd have to create a new product (or target) for each little app you want to build and add the appropriate .c file you want to build to that new product. The type of app you'd be building would be called a "Command Line Tool".
When you create a new project or select "New Target", this is what you would see and select:

Resources