Skip Menu |

Preferred bug tracker

Please visit the preferred bug tracker to report your issue.

This queue is for tickets about the Dist-Zilla-Plugin-Bootstrap-lib CPAN distribution.

Report information
The Basics
Id: 82570
Status: resolved
Priority: 0/
Queue: Dist-Zilla-Plugin-Bootstrap-lib

People
Owner: Nobody in particular
Requestors: ether [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Wishlist
Broken in: (no value)
Fixed in:
  • 0.02000000
  • 0.02000100



Subject: regarding "no versions" - use the 'built' version instead?
I noticed your caveat in the pod, that the plugin used in the build will have no version if the code itself has no version (e.g. if [PkgVersion] is being used). One way to solve this is to build twice: - build once using -Ilib, as is currently done - use that build product to build again: -I.build/deadbeef Is this totally insane? :) I think I'm going to try it out...
On 2013-01-09 10:53:03, ETHER wrote:
Show quoted text
> I noticed your caveat in the pod, that the plugin used in the build will
> have no version if the code itself has no version (e.g. if [PkgVersion]
> is being used). One way to solve this is to build twice:
>
> - build once using -Ilib, as is currently done
> - use that build product to build again: -I.build/deadbeef
>
> Is this totally insane? :) I think I'm going to try it out...

I said on IRC, but rehashing it here for newcommers:

./.build/*  is offlimits for this purpose really, because things only exist in ./build/* when

a) during test
b) after a test fails

a) is obviously useless to us
b) and using a broken and failing dist is probably a bad idea too

so if some approach is to be used, it will need to use  $ROOT->built_in dir.

However, there's a catch22 problem, that if you require it to be built somewhere other than $ROOT ( ie: $ROOT/somesubdir ) in order to build the code, then you will *never* build the code, because you won't be able to build $ROOT/somedir in the first place, in order to include it to build self.

Though I guess this can work:

1. Install previous version of X

2. Build X with previous version of X ( creating $ROOT/built-X )

3. Build X with $ROOT/built-X

Its just the real purpose of Boostrap::lib is to avoid 1 & 2, by using path manglement to build something with itself *without* needing it installed first.

0.02 0001 00 is comming to a cpan near you.

New feature that should help you out: 

[Bootstrap::lib]
try_built = 1

^ this will mean that  if there exists a "Foo-*" in your work directory ( under your Foo/ project ), it will try that first( Foo/Foo-*/lib/ ), before defecting to Foo/lib

So far its proving to be more pain than its worth to use that method, as there's no reliable way to tell *which* of the many build dirs is the "right" one, and seeing dzil will happily have several with different versions simultaneously, it requires additional user hands-on to make sure the unwanted versions are always absent.
Closing bug due to the existence of try_built = 1

If pain persists and this does not solve the needs of this request, please feel free to open a new bug on github =).

Thanks.