Skip to content

feat: add environment solution sync#144

Open
zekelinAlex wants to merge 2 commits into
TALXIS:masterfrom
zekelinAlex:users/alexander.zekelin/solution-sync
Open

feat: add environment solution sync#144
zekelinAlex wants to merge 2 commits into
TALXIS:masterfrom
zekelinAlex:users/alexander.zekelin/solution-sync

Conversation

@zekelinAlex

Copy link
Copy Markdown

Adds txc environment solution sync, our take on pac solution sync for pulling a
solution back into local source without the git churn.

Dataverse rewrites plugin-assembly paths on export (PluginAssemblies/{Name}-{GUID}/...)
and ships the compiled binaries, and neither matches how we keep source. So after unpack
this flattens the paths back to PluginAssemblies/{Name}.dll, fixes the <FileName>, and
drops the binaries that are built locally so they stay out of git.

The project file decides what gets dropped. A Plugin or WorkflowActivity
<ProjectReference> means its .dll is built here, so we keep the .data.xml and skip the
binary. A ScriptLibrary reference works the same way for the built .js web resource. A
plugin that just lives in the environment, with no reference, keeps its binary.

To stay safe it unpacks into a temp folder and merges only the solution component folders,
so your .csproj, bin and obj are never touched.

Closes #57.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: Solution sync with source-friendly path normalization and ProjectReference-aware binary exclusion

1 participant