-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Incorrect references and dependencies #4270
Incorrect references and dependencies #4270
Conversation
I can understand the change to csproj (sort of). Can you please explain the
change to the sln file?
…On 24/12/2017 9:47 AM, "Gerhard Olsson" ***@***.***> wrote:
Corrects #4269
<#4269>
GitExtensions (cs project) has References to the plugin .dll which should not occur (no direct access to the .dll)
Build dependencies do not include all subprojects. So for instance when debugging, a clean was required first (partly hidden by the previous issue).
How did I test this code:
- Clean the solution.
- Verify that .dlls are removed. GitExtUtils.dll is still remains
though.
- Start debugging GitExtensions
- Verify that the AppVeyor plugin is loaded
Has been tested on (remove any that don't apply):
- Windows 10
------------------------------
You can view, comment on, or merge this pull request online at:
#4270
Commit Summary
- Incorrect references and dependencies
File Changes
- *M* GitExtensions.VS2015.sln
<https://github.com/gitextensions/gitextensions/pull/4270/files#diff-0>
(18)
- *M* GitExtensions/GitExtensions.csproj
<https://github.com/gitextensions/gitextensions/pull/4270/files#diff-1>
(64)
Patch Links:
- https://github.com/gitextensions/gitextensions/pull/4270.patch
- https://github.com/gitextensions/gitextensions/pull/4270.diff
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#4270>, or mute the
thread
<https://github.com/notifications/unsubscribe-auth/AEMyXnbVxXL-o0N3aedv1eHMdnFoHE6Tks5tDYMAgaJpZM4RLx8O>
.
|
Right click on the GitExtensions project and select Build Dependencies. Note: All projects may not need to be added to the GitExtensions (project). The plugins are copied in target AddPluginBinaries so they are for sure needed, but some of the other may be handled indirectly (like if SpellChecker and ResourceManager that likely are used by other dependent projects too). Easier to select all (but tests, VS plugin and Setup). Note2: No check for Mono. |
VS is somwhat dumb when it comes to rebuilding. Resharper build is much
smarter (if you have Re#) and reduces build time
…On 24/12/2017 10:32 AM, "Gerhard Olsson" ***@***.***> wrote:
Right click on the GitExtensions project and select Build Dependencies.
Previously, for instance AppVeyor was listed after GitExtensions, so it
was not built when debugging.
A full build would have generated the .dll, but if you make a change to
the plugin, you have to force rebuild it again.
For the BitBucket plugin that was listed as a Reference, it was enough to
clean the project before debugging.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#4270 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AEMyXkd4c7uUFK1DlCRxI1_iap8SxIEoks5tDY2ZgaJpZM4RLx8O>
.
|
I can only guess that the reason all projects are referenced from GitExtensions project is to ensure they all get built before it. This is what copies all plugins to the target directory https://github.com/gitextensions/gitextensions/blob/master/TranslationApp/TranslationApp.csproj#L167-L185 |
The same when building GitExtensions.csproj For debug to work properly the build system must understand that it should build all plugins first. This can be done in several ways (not mutually exclusive or complete list).
The references were not really a problem, just done the wrong way. The TranslatorApp is not built last right now. This PR pushes the build of the translator app later, but some plugins as well as GitExtensions and the Setup are built after TranslatorApp. Only tests should be after. (The translator app do not need dependencies to all plugins as long as they are referenced by the main app). Without knowing the details how the translator app should work, I assume this and will push an update. |
I ran the TranslationApp again after the update. Also missing (should not be translated?) |
In ideal world plugins would live in own/separate repo(s) and get installed/loaded by the user. We had some high level discussions before but nothing of substance. I don't think any of the methods mentioned above address the issue of renamed assemblies in the target directory. |
I would suggest that the Setup project is removed from GitExtensions.VS2015.sln. |
Once we get the 2.51 released we can start rejigging the solution (if
sensible).
…On 25 December 2017 at 21:47, Gerhard Olsson ***@***.***> wrote:
I would suggest that the Setup project is removed from
GitExtensions.VS2015.sln.
The msi package is built from BuildInstallers.VS2015.cmd (that calls
MakeInstallers.cmd) to build the shell extension different targets and
SshAskPass. The last are C++ projects and not included in the general
solution, the setup project could be enhanced to handle this I assume, but
for now it is clearer to remove .wixproj from GitExtensions.VS2015.sln.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#4270 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AEMyXiw-CT9cxk5cWXRdrZtqe8tuMKZiks5tD305gaJpZM4RLx8O>
.
|
I've been getting dramas with the dependencies lately - not all files are getting copied into Debug/bin folder and then Fusion is complaining... |
I suggest I rebase and make some adjustments first. I have done some other changes to the build and dependencies too as well as 201572017 unification, that could go in later |
Corrects gitextensions#4269 GitExtensions (cs project) has References to the plugin .dll which should not occur (no direct access to the .dll) Build dependencies do not include all subprojects. So for instance when debugging, a clean was required first (partly hidden by the previous issue). TranslationApp should be built last. GitExtensions.exe should not have dependency to TranslationApp TApp should have dependency to GE, VS Plugin, Setup (no need for all individual projects) Setup had no dependency to VS plugins
86a6d1d
to
644cfc9
Compare
Rebased and squashed, no changes was needed After this, the maintenance that need to be done is to add new GEPlugins as dependencies for GitExtensions |
Great, thanks
…On 30/01/2018 8:32 AM, "Gerhard Olsson" ***@***.***> wrote:
Rebased and squashed, no changes was needed
After this, the maintenance that need to be done is to add new GEPlugins
as dependencies for GitExtensions
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#4270 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AEMyXmwl-9YGM0YsGk0qRLTMmRdnWbg9ks5tPjkGgaJpZM4RLx8O>
.
|
I took a look at the second step I had worked on some time ago. Will submit a PR if this is merged. https://github.com/gerhardol/gitextensions/tree/feature/n4269-build-dependency-pt2 After that, I would like to solve #4311 and #4312 and simplify the release process some. Seem to complicated now. |
Merge it if it is working.
…On 30/01/2018 9:22 AM, "Gerhard Olsson" ***@***.***> wrote:
I took a look at the second step I had worked on some time ago. Will
submit a PR if this is merged.
https://github.com/gerhardol/gitextensions/tree/feature/
n4269-build-dependency-pt2
After that, I would like to solve #4311
<#4311> and #4312
<#4312> and simplify
the release process some. Seem to complicated now.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#4270 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AEMyXikON17LZOEEAdjhLk7Qqu6DfFCdks5tPkS-gaJpZM4RLx8O>
.
|
Corrects #4269
How did I test this code:
Has been tested on (remove any that don't apply):