Hi,

- Depends{name:"obj"} does not seems to work, it says "Product dependency 'obj' not found for profile ..."

- I updated the my example to use output.filePath but in either way I can't get the buildtag.txt file, the command is run but I can't found the generated file... is the example too trivial (no source to build ?)

- I can download and build qbs from master but then how should I configure QtCreator to use the version I've just build ? Is it just the qbs.exe to copy into the Tools directory ?

Thanks

Le 04-12-14 16:13, Christian Kandeler a écrit :
On 12/04/2014 03:00 PM, Stéphane Fabry wrote:
I tried to do what you explained, but can't get it working.
Sorry, I made two mistakes in my explanation:
      1) You don't need a pseudo-artifact. Just set "alwaysUpdated" to
         false in your real artifact.
      2) This works only in master, not in 1.3.
So, what's a workaround you can use in 1.3? Maybe have a dependency on
the "obj" tag? If no object file changes, you won't have a new build, right?


Christian

(Btw., in your example you create the "build.txt" file not at the place
you specified in the Artifact item. To prevent such inconsistencies, we
recommend using the outputs variable to access these paths.)

Here is the minimal project I tried:

importqbs1.0

import  qbs.TextFile

import  qbs.FileInfo

Product  {

      name:  "Build  Tag"

      type:  "buildtag"

      targetName:  "buildtag.txt"

      Group  {

          name:  "Fake  input"

          files:  "fake.in"

          fileTags:  ["in_tag"]

      }

      Rule  {

          inputs:  ["in_tag"]

          Artifact  {

              filePath:  "buildtag.txt"

              fileTags:  "buildtag"

          }

          Artifact  {

              alwaysUpdated:  false

              filePath:  "fakeOutput"

          }

          prepare:  {

              var  cmd  =  new  JavaScriptCommand();

              cmd.description  =  "Update  build  date  tag  !"

              cmd.sourceCode  =  function()  {

                  var  file  =  new  TextFile("./buildtag.txt",  
TextFile.WriteOnly);

                  var  today  =  new  Date()

                  file.writeLine(today.toISOString());

                  file.close();

              }

              return  cmd;

          }

      }

}


Thanks



Le 04-12-14 10:59, Christian Kandeler a écrit :
On 12/03/2014 10:18 PM, Stéphane Fabry wrote:
I'm trying to create an artefact (a simple text file) that contain the
last date of build,
so i just need to write the date 'now' each time the project is build.

The problem is I don't know how to tell qbs to rebuild the artefact each
time the project is build (or partially build) ?

Has someone an idea how to do this ?
Yeah, we really should add some rule property that makes this kind of
thing straightforward. You could file a bug report to enhance the
visibility of this issue.
I assume you are using a Transformer item now? The workaround is to use
a rule instead (give some random input tag, as there needs to be at
least one) and in this rule, in addition to your real output artifact,
declare a second one that you will never create and set its
"alwaysUpdated" property to false (the filePath can be anything, as long
as it's uniqe). This should achieve what you want.


Christian

_______________________________________________
QBS mailing list
QBS@qt-project.org
http://lists.qt-project.org/mailman/listinfo/qbs
--
*Stéphane Fabry*, Project & IT Manager
+32 (0)4 367 07 92
*X-RIS* | /X-Ray Imaging Solutions/
www.xris.eu/contact.html
_______________________________________________
QBS mailing list
QBS@qt-project.org
http://lists.qt-project.org/mailman/listinfo/qbs

--
*Stéphane Fabry*, Project & IT Manager
+32 (0)4 367 07 92
*X-RIS* | /X-Ray Imaging Solutions/
www.xris.eu/contact.html
_______________________________________________
QBS mailing list
QBS@qt-project.org
http://lists.qt-project.org/mailman/listinfo/qbs

Reply via email to