Проблема с использованием макросов в SBT

Предположим, что у вас есть два SBT-проекта, один из которых называется A, а другой - B

A имеет подпроект, называемый макросом, который следует за тем же шаблоном, что и здесь (http://www.scala-sbt.org/0.13.0/docs/Detailed-Topics/Macro-Projects.html). Другими словами, A имеет макрос подпроекта с пакетом, который предоставляет макрос (позволяет назвать его макроопределениями). Теперь оба проекта, A и B, используют пакет macrotools (и A и B являются строго отдельными проектами, B использует A через зависимости в SBT, а A использует publish-local)

Теперь, используя A macrotools пакет в порядке, все работает правильно. Однако, когда B использует пакет macrotools, происходит следующая ошибка.

java.lang.IllegalAccessError: tried to access method com.monetise.waitress.types.Married$.<init>()V from class com.monetise.waitress.types.RelationshipStatus$

Для тех, кто задается вопросом, макросом является этот qaru.site/info/5549/..., так что, другими словами, этот макрос является тем, что находится внутри пакета macrotools

Это также связано с моим предыдущим вопросом Макрозависимость, появляющаяся в POM/JAR, за исключением того, что я теперь использую SBT 0.13, и я следую за измененным руководством для SBT 0,13

Приведенный выше код означает, что в этом случае это то, что находится в B, а A com.monetise.incredients.macros.tools (которое является зависимостью, указанной в файле build.sbt)

package com.monetise.waitress.types
import com.monetise.ingredients.macros.tools.SealedContents

sealed abstract class RelationshipStatus(val id:Long, val formattedName:String)
case object Married extends RelationshipStatus(0,"Married")
case object Single extends RelationshipStatus(1,"Single")

object RelationshipStatus {
//  val all:Set[RelationshipStatus] = Set(
//      Married,Single
//  )

  val all:Set[RelationshipStatus] = SealedContents.values[RelationshipStatus]
}

Как вы можете видеть, когда я использую комментарии, код работает нормально (задание макроса заключается в заполнении Set всеми объектами в ADT). Когда я использую версию макроса, т.е. SealedContents.values[RelationshipStatus], когда я нажимаю java.lang.IllegalAccessError

ИЗМЕНИТЬ

Вот репозиции, содержащие проекты https://github.com/mdedetrich/projectacontainingmacro https://github.com/mdedetrich/projectb

Обратите внимание, что мне пришлось сделать некоторые изменения, о которых я забыл раньше. Поскольку другой проект также должен зависеть от макроса, следующие 2 строки для отключения публикации макросов были прокомментированы

publish := {},
publishLocal := {}

В build.scala. Также обратите внимание, что это время выполнения, а не ошибка времени компиляции

РЕДАКТИРОВАТЬ 2 Создал проблему github здесь https://github.com/sbt/sbt/issues/874